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的,亲测可行!!!!!!!!!!!!
使用的工具: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文件夹中的源码
ps:本人路径:E:\大数据学习资料\2.资料\hive\2.资料\apache-hive-1.2.1-src\hbase-handler\src\java,并在方框中打勾。
3.在Java工程中新建libs文件夹,并导入相关依赖包(及你安装的hive和hbase中的lib目录下的所有jar包)
4.编译源码(打包)
右键hive_hbase_handler工程export
5.得到编译好的jar包,并将其替换你安装的hive中lib目录下的hive-hbase-handler-1.2.1
6.结果展示