系统环境:
Hbase:0.90.3
hive:0.7.0
hive 0.7.0自带的lib下包含文件“hbase-0.89.0-SNAPSHOT.jar”,我的hbase版本是0.90.3,首先拷贝hbase-0.90.3.jar到hive/lib下,然后删除“hbase-0.89.0-SNAPSHOT.jar”。
创建hive表、hbase表:
- CREATE TABLE hbase_table_1(key int, value string)
- STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
- WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
- TBLPROPERTIES ("hbase.table.name" = "xyz");
其中属性hbase.table.name值"xyz"为hbase的表名,属性hbase.columns.mapping,"cf1:val"为列族名称。
在hive 客户端执行上面语句后,会在hive中生成表"hbase_table_1",在hbase中生成表"xyz"
导入测试数据:
- hive> CREATE TABLE pokes (foo INT, bar STRING);
- hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;
- hive> INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes;
- hive> select * from hbase_table_1;
troubleshooting:
- FAILED: Error in metadata: MetaException(message:org.apache.hadoop.hbase.MasterNotRunningException: CNC-JN-R-541:60000
- at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:394)
- at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:83)
- at org.apache.hadoop.hive.hbase.HBaseStorageHandler.getHBaseAdmin(HBaseStorageHandler.java:74)
- at org.apache.hadoop.hive.hbase.HBaseStorageHandler.preCreateTable(HBaseStorageHandler.java:158)
- at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:344)
- at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:470)
- at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:3146)
- at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:213)
- at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130)
- at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
- at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063)
- at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900)
- at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748)
- at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:164)
- at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241)
- at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
- )
出现这个错误的原因是我引入的hbase包和hive自带的hive包冲突,删除hive/lib下的 hbase-0.89.0-SNAPSHOT.jar, OK了。
FAILED: Error in metadata: MetaException(message:Column Family department is not defined in hbase table hello)
当使用hive相关管理已经存在的hbase 多列table时,出现上面错误,而且列族“department ”的确存在,最终发现原因是:在hive中使用CREATE EXTERNAL TABLE 创建表的时候,"hbase.columns.mapping"的值中不能包含空格
相关推荐
被编译的hive-hbase-handler-1.2.1.jar,用于在Hive中创建关联HBase表的jar,解决创建Hive关联HBase时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop....
jdk1.8.0_131、apache-zookeeper-3.8.0、hadoop-3.3.2、hbase-2.4.12 mysql5.7.38、mysql jdbc驱动mysql-connector-java-8.0.8-dmr-bin.jar、 apache-hive-3.1.3 2.本文软件均安装在自建的目录/export/server/下 ...
hive和hbase整合的时候,如果出现不兼容的情况需要手动编译:hive-hbase-hander-1.2.2.jar把这个jar替换掉hive/lib里的那个jar包
hive0.8.1和hbase0.92.0集成的hive-hbase-handler.Jar包,里面包含:hbase-0.92.0.jar、hbase-0.92.0-tests.jar、hive-hbase-handler-0.9.0-SNAPSHOT.jar。经测试没有问题。
hive0.10.0和hbase0.94.4集成的hive-hbase-handler.Jar包,经测试没有问题。
HBase2.1.3整合Hive3.1.2,Hive官方的hive-hbase-handler-3.1.1.jar包不好用,自己编译后的,确认好用
配置,测试,导入数据详细操作,CREATE TABLE hive_hbase_table(key int, value string,name string) hadoop jar /usr/lib/hbase/hbase-0.90.4-cdh3u3.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY, catgyname...
hive和hbase的整合所需要的编译后的jar包。 注意:这里的hbase版本为:1.2.1 hive的版本为:1.2.1
此文档是本人在工作中用到的知识总结出来的整合过程,本人是菜鸟,希望得到大神们的建议。
该文档保护了目前比较流行的大数据平台的原理过程梳理。Hadoop,Hive,Hbase,Spark,MapReduce,Storm
hive与hbase整合经验谈
详细介绍了Hive,Hbase,MySQL的区别和优缺点分析
Hive-1.2.1与HBase-1.3.1兼容处理的jar包 hive-hbase-handler-1.2.2.jar
Hadoop Hive与Hbase整合配置
2019-08----2019-10工作期间所用到的hive和HBASE的jar包
大数据工具篇之Hive与HBase整合完整教程
1、内容概要:Hadoop+Spark+Hive+HBase+Oozie+Kafka+Flume+Flink+Elasticsearch+Redash等大数据集群及组件搭建指南(详细搭建步骤+实践过程问题总结)。 2、适合人群:大数据运维、大数据相关技术及组件初学者。 3、...