gpt4 book ai didi

hive - 从 hbase 创建配置单元表时,列有 2 个元素,而 hbase.columns.mapping 有 3 个元素错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:23:14 25 4
gpt4 key购买 nike

当我运行以下创建配置单元表的命令时出现以下错误。

示例是我要创建的配置单元表。 hloan 是我现有的 hbase 表。请帮忙。

create external table sample(id int, name string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,hl:id,hl:name")
TBLPROPERTIES ("hbase.table.name"="hloan","hbase.mapred.output.outputtable"="sample");

错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeException org.apache.hadoop.hive.hbase.HBaseSerDe: columns has 2 elements while hbase.columns.mapping has 3 elements (counting the key if implicit))

最佳答案

由于错误描述您的创建外部表语句具有2 列 id,name

在 Hbase 映射中,您有 3 列 :key,hl:id,hl:name

创建包含 3 列的表:

hive> create external table sample(key int, id int, name string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,hl:id,hl:name")
TBLPROPERTIES ("hbase.table.name"="hloan","hbase.mapred.output.outputtable"="hloan");

(或)

如果 key 和 id 列具有相同的数据,那么您可以在映射中跳过 hl:id

创建包含 2 列的表:

hive> create external table sample(id int, name string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping"=":key,hl:name")
TBLPROPERTIES ("hbase.table.name"="hloan","hbase.mapred.output.outputtable"="hloan");

关于hive - 从 hbase 创建配置单元表时,列有 2 个元素,而 hbase.columns.mapping 有 3 个元素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53287652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com