【问题标题】:Athena - DATE column correct values from JSONAthena - 来自 JSON 的 DATE 列正确值
【发布时间】:2017-11-06 14:47:11
【问题描述】:

我有一个包含许多 JSON 文件的 S3 存储桶。

JSON 文件示例:

{"id":"x109pri", "import_date":"2017-11-06"}

“import_date”字段是标准格式 YYYY-MM-DD 的 DATE 类型。

我正在 Athena 中创建一个数据库连接来链接所有这些 JSON 文件。

但是,当我在 Athena 中创建一个新表并将此字段格式指定为 DATE 时,我得到:“内部错误”,没有提供其他解释。澄清一下,表创建得很好,但如果我想预览或查询,我会收到此错误。

但是,当我将此字段指定为 STRING 时,它可以正常工作。

所以问题是,这是一个 BUG 还是 Athena DATE 格式的正确值应该是什么?

【问题讨论】:

    标签: json date amazon-athena


    【解决方案1】:

    日期列类型不适用于 SerDe 和/或数据源的某些组合。

    例如,使用带有 org.openx.data.jsonserde.JsonSerDe 的 DATE 列失败,而 org.apache.hive.hcatalog.data.JsonSerDe 有效。

    因此,使用以下表定义,查询您的 JSON 将起作用。

    create external table datetest(
      id string,
      import_date date
    )
    ROW FORMAT  serde 'org.apache.hive.hcatalog.data.JsonSerDe'
    LOCATION 's3://bucket/datetest'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      相关资源
      最近更新 更多