关于本人hbase整合sqoop和hive框架的遇到的那些坑
hbase: hbase-1.3.1-bin.tar.gz
hive:apache-hive-1.2.2-bin.tar.gz
要实现的功能:实现创建hive表同时关联到hbase在logs日志查看出现异常信息
执行语句:
CREATE TABLE hive_hbase_emp_table( key 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
|
原因:版本不兼容
解决:将hbase版本改成hbase-0.98.6-cdh5.3.6.tar.gz版本配置完成之后解决问题。
(2)
hbase: hbase-0.98.6-cdh5.3.6.tar.gz
sqoop: sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
实现功能:利用sqoop工具将mysql中数据导出到hbase表
执行语句:
sqoop import --connect jdbc:mysql://had01:3306/db_library --username root --password root --table book --columns "id,name,price" --column-family "info" --hbase-create-table --hbase-row-key "id" --hbase-table "hbase_book" --num-mappers 1 --split-by id --delete-target-dir
|
异常信息:
[master:Master:60000] catalog.CatalogTracker: Fail |
原因:版本不兼容
解决:将sqoop的版本换成sqoop-1.4.5-cdh5.3.6.tar.gz,解决版本兼容问题。
hbase:hbase-0.98.6-cdh5.3.6.tar.gz
sqoop:sqoop-1.4.5-cdh5.3.6.tar.gz
以上就是在学习中遇见的问题,希望对大家有帮助,补充一下,个人建议不管什么样的工具,个人建议使用cdh版本的。解决了很多兼容问题!