gpt4 book ai didi

hadoop - Hive - 列类型名称太长

转载 作者:可可西里 更新时间:2023-11-01 14:44:28 26 4
gpt4 key购买 nike

我想使用 rcongiu 的 hive-json-serde存储符合开放标准的重要 JSON 文档。我用过 Michael Peterson 的便捷 hive-json-schema生成器生成一个 CREATE TABLE 语句,该语句应该可以工作,除了它的大小。

我正在编码的 JSON 文档遵循定义明确的模式,但该模式可能包含一百个字段,最多嵌套四层。符合标准的 Hive 列类型非常非常长(大约 3700 个字符),当我运行生成的创建表语句时出现错误

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.
InvalidObjectException(message:Invalid column type name is too long: <the
really long type name>)

声明看起来像这样:

CREATE TABLE foobar_requests (
`event_id` int,
`client_id` int,
`request` struct<very long and deeply nested struct definition>,
`timestamp` timestamp)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe';

存储这些文件的任何途径?

最佳答案

Hive 在处理非常长的列定义时存在问题。默认情况下,支持的最大字符数为 4000,因此如果您确实需要更多字符,则必须通过扩展 COLUMNS_V2.TYPE_NAME 的长度来更改 Metastore 数据库。

如果您想阅读有关该问题的更多信息,请访问此链接:

https://issues.apache.org/jira/browse/HIVE-12274

关于hadoop - Hive - 列类型名称太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36875699/

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