我正在尝试使用 AWS Athena 在 S3 上查询 csv 数据文件,csv 文件中有多个日期列,但 Athena 中的列类型没有“日期”,我尝试使用“时间戳”,但后来无法查询日期列。
有什么建议么?
我正在尝试使用 AWS Athena 在 S3 上查询 csv 数据文件,csv 文件中有多个日期列,但 Athena 中的列类型没有“日期”,我尝试使用“时间戳”,但后来无法查询日期列。
有什么建议么?
实际上 Athena 有一个列类型的日期。
这是带有日期的表格的简短示例。
CSV:
2016-10-12,2016-10-01,hello,world1
2016-10-13,2016-10-01,hello,world2
2016-10-14,2016-10-01,hello,world3
2016-10-15,2016-10-01,hello,world4
DDL:
CREATE EXTERNAL TABLE test (
startdate date,
enddate date,
val1 string,
val2 string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = ',',
'field.delim' = ','
) LOCATION 's3://test-data/test/';
询问:
select * from test where startdate > DATE'2016-10-13';
Amazon Athena 使用 Apache Hive。Apache Hive 在 Hive 0.12.0 及更高版本中允许“日期”的原始类型。我已经测试并确认它适用于当前的 Athena 实现。
文档链接:https ://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL