【发布时间】:2016-10-12 08:20:11
【问题描述】:
有一个包含两个列族的空 HBase 表:
create 'emp', 'personal_data', 'professional_data'
现在我正在尝试将一个 Hive 外部表映射到它,它自然会有一些列:
CREATE EXTERNAL TABLE emp(id int, city string, name string, occupation string, salary int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":id,
personal_data:city,
personal_data:name,
professional_data:occupation,
professional_data:salary")
TBLPROPERTIES ("hbase.table.name" = "emp", "hbase.mapred.output.outputtable" = "emp");
现在我得到的错误是:
FAILED:执行错误,返回代码 1 从 org.apache.hadoop.hive.ql.exec.DDLTask。 java.lang.RuntimeException: MetaException(消息:org.apache.hadoop.hive.serde2.SerDeException org.apache.hadoop.hive.hbase.HBaseSerDe:列有 5 个元素,而 hbase.columns.mapping 有 6 个元素(如果隐含,则计算键))
你能帮帮我吗?我是不是做错了什么?
【问题讨论】: