在蜂房多线JSON文件查询(Multi-line JSON file querying in hiv

2019-09-28 18:56发布

据我所知, 大多数的 JSON格式SERDE期望.json文件存储,每行一个记录。

我有一个S3桶多行缩进.json文件(不控制源),我想使用亚马逊雅典娜查询(虽然我想这也同样适用于蜂巢一般)。

  1. 是否有一个SERDE格式在那里,能够解析多行缩进.json文件?
  2. 如果没有一个SERDE格式要做到这一点:
    • 是否有处理类似这样的文件,最好的做法?
      • 我应该考虑使用像蟒蛇不同的工具压扁这些记录呢?
    • 有没有编写自定义格式SERDE的标准方法,所以我可以写一个自己?

示例文件正文:

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

Answer 1:

有不幸的是,它支持多JSON内容没有SERDE。 还有是支持与你相似的格式专门CloudTrail SERDE,但它是硬编码只对CloudTrail JSON格式 - 但它至少表明它至少理论上是可能的。 目前还没有办法写你自己的SERDES雅典娜使用,虽然。

您将无法消耗与雅典娜这些文件,你将不得不使用EMR,胶水,或其他一些工具,他们先重新格式化为JSON流文件。



文章来源: Multi-line JSON file querying in hive