FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

使用以下代码在在 Hive 中创建表同时关联 HBase时

CREATE TABLE hive_hbase_emp_table(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" =
":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno")
TBLPROPERTIES ("hbase.table.name" = "hbase_emp_table");

出现了下面错误:

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源码中hbase_handler的,亲测可行!!!!!!!!!!!!

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

使用的工具:eclipse,apache-hive-1.2.1-src(源码),相关依赖jar包(我这里是hbase-1.3.1和hive-1.2.1中lib中所有的jar包)

1.新建Java工程

2.导入apache-hive-1.2.1-src下hbase_handle文件夹中的源码

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

ps:本人路径:E:\大数据学习资料\2.资料\hive\2.资料\apache-hive-1.2.1-src\hbase-handler\src\java,并在方框中打勾。

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

3.在Java工程中新建libs文件夹,并导入相关依赖包(及你安装的hive和hbase中的lib目录下的所有jar包)

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

4.编译源码(打包)

右键hive_hbase_handler工程export

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

 5.得到编译好的jar包,并将其替换你安装的hive中lib目录下的hive-hbase-handler-1.2.1

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo

 6.结果展示

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo