我收到以下错误
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上解决这个问题。
答案 0 :(得分:0)
我无法解决这个问题。我决定将我的Hive Metastore从Postgresq更改为MySql,现在它可以工作了。
在Postgresql中,当我创建模式时,我确保没有Null转换为字符变化(NULL ::字符变化),但这并没有解决问题。