Hive on Spark集成HBase
0
大家好,我在hive on spark上集成HBase(先将Hive执行引擎换成Spark,然后按照官方的方法去做Hive集成HBase),现在遇到了一些问题,我的环境版本是:
Hadoop 2.7.2
Hive 2.0.0
HBase 1.1.3
Spark 1.5.0
在hive中按照下面的代码建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.mapred.output.outputtable" = "xyz");
但是当执行插入语句时就报错了,插入语句:
INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=98;
Hive.log中的报错信息是:
2016-05-26T08:16:53,828 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.mapreduce.TableInputFormatBase
hive-hbase-handler-2.0.0.jar已经拷贝到spark了
Hadoop 2.7.2
Hive 2.0.0
HBase 1.1.3
Spark 1.5.0
在hive中按照下面的代码建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.mapred.output.outputtable" = "xyz");
但是当执行插入语句时就报错了,插入语句:
INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=98;
Hive.log中的报错信息是:
2016-05-26T08:16:53,828 INFO [stderr-redir-1]: client.SparkClientImpl (SparkClientImpl.java:run(593)) - Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.mapreduce.TableInputFormatBase
hive-hbase-handler-2.0.0.jar已经拷贝到spark了
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2016-05-26 回答
赞同来自:
export SPARK_CLASSPATH=$SPARK_CLASSPATH:${SPARK_HOME}/lib/hive-hbase-handler.jar
参考这个,试一下。