如何连接hbase和spark

cyej8jka  于 2021-06-08  发布在  Hbase
关注(0)|答案(1)|浏览(670)

我想从hbase加载数据,然后使用spark继续!我在googlecloud上使用spark2.0.2和hbase 1.2.5
在互联网上,我发现了一些使用javahbasecontext的例子,但我不知道在哪里可以找到这个类,因为我没有任何jar文件hbase称为hbase spark?
我也发现了这段代码,它使用hbaseconfiguration和connectionfactory与hbase数据库建立连接:

Configuration conf = HBaseConfiguration.create();
    conf.addResource(new Path("/etc/hbase/conf/core-site.xml"));
    conf.addResource(new Path("/etc/hbase/conf/hbase-site.xml"));
    conf.set(TableInputFormat.INPUT_TABLE, tableName);

    Connection connection = ConnectionFactory.createConnection(conf);

    Admin admin = connection.getAdmin(); 
    Table tab = connection.getTable(TableName.valueOf(tableName));
    byte [] row = Bytes.toBytes("TestSpark");
    byte [] family1 = Bytes.toBytes("MetaData");
    byte [] height = Bytes.toBytes("height");
    byte [] width = Bytes.toBytes("width");

    Put put = new Put(row);
    put.addColumn(family1, height, Bytes.toBytes("256"));
    put.addColumn(family1, width, Bytes.toBytes("384"));

    tab.put(put);

但是我在这个问题上犯了个错误 Connection connection = ConnectionFactory.createConnection(conf); 即:
错误:未报告的异常ioexception;必须捕获或声明为抛出connection=connectionfactory.createconnection(conf);
你们中有谁能告诉我如何使用spark从hbase加载数据?
ps:i编程java

pod7payv

pod7payv1#

你提到的错误与以下事实有关 Connection connection = ConnectionFactory.createConnection(conf); 可能有错误。就像信息上说的,你必须用try..catch:

try {    
    Connection connection = ConnectionFactory.createConnection(conf);
}
catch (Exception e) //Replace Exception with the exception thown by ConnectionFactory 
{
... Do something.
}

相关问题