我想从hbase加载数据,然后使用Spark继续它们! 我在google cloud和hbase 1.2.5上使用Spark 2.0.2
在互联网上,我发现了一些使用JavaHBaseContext但我不知道在哪里找到这个类的例子,因为我没有任何名为hbase-spark的jar文件hbase?
我也找到了这个代码,使用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;必须被抓住或宣布 被抛出 连接连接= ConnectionFactory.createConnection(conf);
你们有没有人告诉我如何从hbase加载数据以使用Spark继续?
PS:我编写Java
答案 0 :(得分:0)
您提到的错误与Connection connection = ConnectionFactory.createConnection(conf);
可能产生错误的事实有关。就像消息所说的那样,你必须尝试使用..catch:
try {
Connection connection = ConnectionFactory.createConnection(conf);
}
catch (Exception e) //Replace Exception with the exception thown by ConnectionFactory
{
... Do something.
}