gpt4 book ai didi

json - hive中的多行JSON文件查询

转载 作者:行者123 更新时间:2023-12-04 17:41:05 25 4
gpt4 key购买 nike

据我了解,大多数 JSON SerDe 格式都希望 .json 文件每行存储一条记录。

我有一个 S3 存储桶,其中包含多行缩进的 .json 文件(不控制源),我想使用 Amazon Athena 进行查询(尽管我认为这同样适用通常到 Hive)。

  1. 是否有能够解析多行缩进的 .json 文件的 SerDe 格式?
  2. 如果没有 SerDe 格式可以做到这一点:
    • 是否有处理此类文件的最佳实践?
      • 我是否应该计划使用不同的工具(如 python)来展平这些记录?
    • 是否有编写自定义 SerDe 格式的标准方法,以便我自己编写一个?

示例文件正文:

[
{
"id": 1,
"name": "ryan",
"stuff: {
"x": true,
"y": [
123,
456
]
},
},
...
]

最佳答案

不幸的是,没有支持多行 JSON 内容的 serde。有专门的 CloudTrail serde 支持与您的格式类似的格式,但它仅针对 CloudTrail JSON 格式进行了硬编码——但至少它表明它至少在理论上是可行的。不过,目前无法编写您自己的 serdes 以与 Athena 一起使用。

您将无法使用 Athena 使用这些文件,您必须先使用 EMR、Glue 或其他一些工具将它们重新格式化为 JSON 流文件。

关于json - hive中的多行JSON文件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54466526/

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