我有一个包含许多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格式的正确值?
答案 0 :(得分:1)
日期列类型不适用于SerDe和/或数据源的某些组合。
例如,使用包含transaction.getTo();
的DATE列失败,而org.openx.data.jsonserde.JsonSerDe
有效。
因此,使用以下表定义,查询JSON将起作用。
org.apache.hive.hcatalog.data.JsonSerDe