hadoop - hbase命令与hadoop命令

标签 hadoop hbase

O'Reilly Elephant书中对hbase的一点描述显示了使用'hbase'命令行包装程序来使用hbase运行map-reduce作业。

但是,我们的代码具有较长的类路径,因此我们想使用由JobConf.setClassByJar和'hadoop'命令启用的hadoop的lib目录功能。尽管我们可能搞砸了一些东西,但在我们看来,这对hbase命令不起作用。

普通的hadoop作业可以调用hbase API吗? hbase命令行做什么?

(hadoop 0.20.2,hbase对应)

最佳答案

您可以在Hadoop作业中使用HBase API。

以下是在Job中使用HBase API的一些代码片段。

进口货

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

这在我的代码的@Override函数内部
private HTable hTable = null;
Configuration hConfig = HBaseConfiguration.create();
hConfig.set(Constants.HBASE_CONFIGURATION_ZOOKEEPER_QUORUM, zkQuorum);
hConfig.set(Constants.HBASE_CONFIGURATION_ZOOKEEPER_CLIENTPORT, zkclientPort);
hTable = new HTable(hConfig, hbCube);
...
hTable.put(subPuts);

显然不是完整的代码片段,但是使用正确的imports并提供正确的值,您的工作(我只有一个映射器)可以访问HBase API。

希望能有所帮助。

关于hadoop - hbase命令与hadoop命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641974/

相关文章:

java - -Dhadoop.security.logger' 未被识别为内部或外部命令

hadoop - Hadoop有时太慢(卡住了100%)

hadoop - 从Hadoop端在Relation数据库中查找数据

hadoop - 分区表上的 Hive alter 语句

gradle - HBase 2.1.0 - CDH6.3.3 - Gradle 导入失败

java - 更新 HBase 中整列的值

java - 如何为mahout和hadoop添加maven依赖?

hadoop - HBase UI不显示任何区域服务器

hadoop hbase cdh4 作业启动失败,出现权限错误

java - 通过 Phoenix 连接到 Test Hbase 表