我有一个hive + hbase集成群集。 我创建了一个表: CREATE TABLE hbase_table_1(key int,value string) 存储者'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES(“hbase.columns.mapping”=“:key,cf1:val”) TBLPROPERTIES(“hbase.table.name”=“xyz”);
执行时没关系: select * from hbase_table_1;
但是当我执行count操作时,会发生classnotfound错误。 从hbase_table_1;
中选择count(*)错误信息是: java.io.IOException:找不到类 在org.apache ............. HiveInputformat.getRecordReader(HiveInputFormat.java:220) ........... 引起:java.lang.ClassNoteFoundException: 在java.lang.Class.forName0(本机方法)
那些错误信息没有注意到我是哪一类。
抱歉我的英语不好。
有人遇到过这个问题吗?
答案 0 :(得分:0)
1) COPY THESE FILES TO THE HADOOP LIBRARY.
sudo cp /usr/lib/hive/lib/hive-common-0.7.0-cdh3u0.jar /usr/lib/hadoop/lib/
sudo cp /usr/lib/hive/lib/hbase-0.90.1-cdh3u0.jar /usr/lib/hadoop/lib/
sudo cp /usr/lib/hive/lib/hbase-0.90.1-cdh3u0.jar /usr/lib/hadoop/lib/
2)CLOSE HBASE AND HADOOP USING FOLLOWING COMMOND
/usr/lib/hadoop/bin/stop-all.sh
/usr/lib/hbase/bin/stop-hbase.sh
3) RESTART HBASE AND HADOOP USING COMMOND
/usr/lib/hadoop/bin/start-all.sh
/usr/lib/hadoop/bin/start-hbase.sh
现在使用Hbase存储处理程序在hive中创建表。