Athena - DATE列正确来自JSON的值

时间:2017-11-06 14:47:11

标签: json date amazon-athena

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

JSON文件示例:

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

" import_date" field是标准格式YYYY-MM-DD的DATE类型。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

例如,使用包含transaction.getTo();的DATE列失败,而org.openx.data.jsonserde.JsonSerDe有效。

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

org.apache.hive.hcatalog.data.JsonSerDe