Hadoop 无法为hbase创建配置单元表

Hadoop 无法为hbase创建配置单元表,hadoop,hive,hbase,integration,Hadoop,Hive,Hbase,Integration,我使用的是hive版本1.1.0、Hbase版本1.0.1和hadoop版本2.7.0。现在对于下面的命令,我得到了错误 hive>CREATE TABLE hbase\u TABLE\u 1(eid int、ename string、esal double) >由“org.apache.hadoop.hive.hbase.HBaseStorageHandler”存储 >具有serdeproperty >(“hbase.columns.mapping”=“:key,cfstr:enm,cfsa

我使用的是hive版本1.1.0、Hbase版本1.0.1和hadoop版本2.7.0。现在对于下面的命令,我得到了错误

hive>CREATE TABLE hbase\u TABLE\u 1(eid int、ename string、esal double)
>由“org.apache.hadoop.hive.hbase.HBaseStorageHandler”存储
>具有serdeproperty
>(“hbase.columns.mapping”=“:key,cfstr:enm,cfsal:esl”)
>TBLProperty(“hbase.table.name”=“emp1”);

失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1。org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/hcolumdescriptor;)V
您似乎缺少
hbase.jar

首先检查
hive site.xml
文件中的属性
hive.aux.jars.path
,并确保指定了
hbase.jar
zookeeper.jar
&
hive hbase handlerXXXX.jar

之后,进入蜂巢外壳并运行
list jar
,以确保它们已加载。您还可以使用命令
addjar[your jar].jar手动加载它们(用于当前会话)


此外,如果不想弄乱配置文件,可以使用首选的初始化命令在主路径中创建自己的.hiverc文件,即:

SET hive.cli.print.header=true;
SET hbase.scan.cacheblock=0;
SET hbase.scan.cache=10000;
SET hbase.client.scanner.cache=10000;
add JAR /usr/lib/hive/lib/zookeeper.jar;
add JAR /usr/lib/hive/lib/hbase.jar;
add JAR /usr/lib/hive/lib/hive-hbase-handler-0.10.0-cdh4.7.1.jar;
...

目前,根据

Hive 2.x将与HBase 1.x及更高版本兼容。(见 欲了解详细信息)希望使用HBase 1.x的消费者 使用Hive1.x需要自己编译Hive1.x流代码


简而言之,在Hive2.x发布之前,您需要自己编译Hive1.x流代码

在将hbase版本0.98.14与hive版本1.1.0一起使用后,此问题得到修复;plz访问
http://stackoverflow.com/questions/32701905/unable-to-load-data-in-hbase-table-‌​‌​从hive
获取详细信息

到今天,我收到了相同的问题,并使用新的pom.xml配置再次构建hive src 请参考并更改pom.xml中的此行
在此处输入代码
1.1.2


注意:我使用Hadoop 2.7.1、Hive 1.2.1和Hbase 1.1.2

是的Hive.aux.jars.path以前丢失了。我为zookeeper-3.4.6.jar、Hive-Hbase-handler-1.1.0.jar、番石榴-14.0.1.jar、Hbase-common-1.0.1.jar、Hbase-client-1.0.1.0.1.jar、Hbase-Hadoop-compat-1.0.1.jar添加了这个,commons-configuration-1.6.jar在hive_env.sh中我设置了hive_AUX_JARS_路径、JAVA_HOME、HADOOP_HOME、hive_HOME和PATHhive>列表JARS/usr/lib/hive/auxlib/hbase-common-1.0.1.jar/usr/lib/hive/auxlib/zookeeper-3.4.6.jar/usr/lib/hive/auxlib/guava-14.0.1.jar/usr/lib/hive/auxlib/hbase-client-1.0.1.jar/usr/lib/hive/auxlib/commons-configuration-1.6.jar/usr/lib/hive/hixlib/hive/hive/hbase-handler-1.0.jar/hadoop-1.0.jar/usr/lib/hive/auxlib/hbase-hadoop-compat-1.0.1.jar同样的错误:hive>CREATE TABLE tblHbase(key int,a int,b int,c bigint)>存储在'org.apache.hadoop.hive.hbase.hbastoragehandler'>中,具有serdeproperty(“hbase.columns.mapping”=“:key,f:a,f:b,f:c”)>TBLProperty(“hbase.table.name”=“tblHbase”);失败:执行错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1。org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/hColumnScriptor;)有人能帮我解决上述问题吗?请告诉我编译Hive 1.x流代码的步骤。我已将hbase版本更改为0.98.14-hadoop2,我成功地创建了表,但无法插入数据。你能看看这篇文章吗http://stackoverflow.com/questions/32701905/unable-to-load-data-in-hbase-table-from-hive
和suggest由于您的两个问题都已解决,您可能希望接受以下答案:)在将hbase版本0.98.14与hive 1.1.0一起使用后,此问题已解决。。。plz访问
http://stackoverflow.com/questions/32701905/unable-to-load-data-in-hbase-table-‌​从配置单元获取详细信息1.1.2