【问题标题】:Hive table with nested JSON as string value具有嵌套 JSON 作为字符串值的 Hive 表
【发布时间】:2020-02-24 15:39:57
【问题描述】:

我正在尝试从嵌套的 json 创建一个表。
JSON 的第二层非常复杂,我不想将该 JSON 的架构保留在带有 struct 列的表定义中。

我正在寻找允许我将其保留为字符串的解决方案。

例如:

{
"request_id": "3dbd4ee3-96fc-4342-bd62",
"payload": { < COMPLEX NESTED JSON >  },
"timestamp": 1569161622
}

我试图使用以下创建语句:

CREATE EXTERNAL TABLE data (
request_id string,
payload string,
`timestamp` int
)
ROW FORMAT  serde 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION 's3a://bucket'

是否有任何SerDe 属性/映射可用于将嵌套对象定义为字符串?

【问题讨论】:

    标签: json amazon-s3 hive presto hive-metastore


    【解决方案1】:

    你可以使用org.openx.data.jsonserde.JsonSerDeSerDe

    有关此 SerDe 的更多信息,请参阅 [链接] (https://github.com/rcongiu/Hive-JSON-Serde)

    希望对你有帮助

    【讨论】:

    • 我看到了,我应该使用什么类型的列?字符串?
    • 是的,如果这就是你想要的......我相信你应该能够稍后使用 get_json_object 进行查询
    猜你喜欢
    • 2016-02-21
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2018-09-25
    • 2016-02-08
    • 2018-06-24
    • 1970-01-01
    • 2016-02-15
    相关资源
    最近更新 更多