安装了ambari的HADOOP集群,安装了SPARK2 HIVE HBASE等组件.现在需要这几个组件联合起来时候,发现在hive中建立了映射到HBASE的表之后, create table ganji_ranks (row string,num string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key,info:num") TBLPROPERTIES ("hbase.table.name"="ganji_rankings");
在HIVE和SPARK及HBASE中表名都能查看见,但是在SPARK-SQL中DESC ganji_ranks 表的时候,提示类找不到:java.lang.ClassNotFoundException Class org.apache.hadoop.hive.hbase.HBaseSerDe not found. 手工把 hive-hbase-handler.jar把这个JAR包从HIVE的lib下面复制到HBASE的lib下面 依旧不行。 然后在执行spark-sql时候 --jars 添加这个包后,再执行,提示 找不到类 .java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/util/Bytes 。网上有说由于缺少guava-12.0.1.jar包造成的,但是因为我不可能每次都手工添加的方式,有无在配置文件中解决的方案。HDP的版本是2.6.30-235.