Hive RunTimeException NULL ::字符在执行HBaseIntegration时变化

时间:2016-11-07 18:38:18

标签: hive hbase

我收到以下错误

FAILED: RuntimeException java.lang.ClassNotFoundException: NULL::character varying

当我尝试在使用'org.apache.hadoop.hive.hbase.HBaseStorageHandler'创建的hive shell中的表上进行选择时。 在我在hive中创建的所有其他表上,我可以轻松地选择它们。所以我的猜测是它必须对与HBaseStorageHandler相关的jar文件做一些事情。

CREATE TABLE hbase_table_emp(id int, name string, role string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:name,cf1:role")
TBLPROPERTIES ("hbase.table.name" = "emp");

我一直在关注本教程来完成我的任务:HBaseHiveIntegration

版本:Hadoop 2.7.2 - Hive 2.1.0 - HBase 1.2.3

仅供参考,这不是hive-hbase integration throws classnotfoundexception NULL::character varying的重复,因为他的答案没有考虑到,我们如何在shell上解决这个问题。

1 个答案:

答案 0 :(得分:0)

我无法解决这个问题。我决定将我的Hive Metastore从Postgresq更改为MySql,现在它可以工作了。

在Postgresql中,当我创建模式时,我确保没有Null转换为字符变化(NULL ::字符变化),但这并没有解决问题。