在HDP集群上,我正在尝试使用现有的Hbase表创建和集成Hive表。它创建了一个蜂巢表。但是当我尝试查询hive表时,它会抛出以下异常,尤其是当列数超过200 时。
我检查了hbase和amp;中的#列数。蜂巢是一样的。没有得到适当的解决方案来调试它。
hive> select * from hbase_hive.lead;
FAILED: RuntimeException MetaException(message:org.apache.hadoop.hive.serde2.SerDeException
org.apache.hadoop.hive.hbase.HBaseSerDe:
columns has 273 elements while hbase.columns.mapping has 204 elements (counting the key if implicit))
在这种情况下是否有任何列限制?
请建议我解决此问题
答案 0 :(得分:1)
https://hortonworks.my.salesforce.com/kA2E0000000LZQ5?srPos=0&srKp=ka2⟨= EN_US
4000个字符的hive Metastore中SERDE_PARAMS表中PARAM_VALUE字段的字符限制是此问题的根本原因。此限制可防止Hive创建具有高列数的表,最终导致desc或select * from失败并出现上述错误。
-- log into Hive Metastore DB -- >alter table SERDE_PARAMS MODIFY PARAM_VALUE VARCHAR(400000000);