Hive-1.2.1与HBase-1.1.2的整合

Hive-1.2.1与HBase-1.1.2的整合

这里的整合是指,将HBase作为存储数据的库,由Hive作为连接桥梁

修改 Hive hive-site.xml

增加
<property>
    <name>hbase.zookeeper.quorumname>
    <value>master:2181,slave1:2182,slave2:2183value>
  property>
  <property>

将HBase的以下jar包放到Hive的lib下

hbase-common-1.1.2.jar
hbase-server-1.1.2.jar
hbase-client-1.1.2.jar
hbase-protocol-1.1.2.jar
htrace-core-3.1.0-incubating.jar
netty-all-4.0.23.Final.jar
hbase-hadoop2-compat-1.1.2.jar
hbase-hadoop-compat-1.1.2.jar
metrics-core-2.2.0.jar

我这里在Hive中创建表时,出现了

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)V

这个问题是版本适配问题,关键在Hive 下hive-hbase-handler-1.2.1.jar 这个jar需要重新进行编译

hive-hbase-handler-1.2.1.jar编译步骤

进入hive源码包,找到hbase-handler的源码
使用Eclipse创建java工程,名称随意
Hive-1.2.1与HBase-1.1.2的整合_第1张图片

src(请注意)下导入handler源码
Hive-1.2.1与HBase-1.1.2的整合_第2张图片
Hive-1.2.1与HBase-1.1.2的整合_第3张图片

导入关联jar包
我这里是将Hbase 和 Hive 包下的所有jar包放入了工程下的lib文件夹中,不要将
apache-curator-2.6.0.pom.xml 也导入工程环境中,否则无法正确打包

导出jar包
Hive-1.2.1与HBase-1.1.2的整合_第4张图片
Hive-1.2.1与HBase-1.1.2的整合_第5张图片
剩下的默认即可。

导出jar包后,替换Hive lib 包下的相应jar包(hive-hbase-handler-1.2.1.jar)即可

你可能感兴趣的:(大数据薪资分析项目(自建))