4

我正在尝试使用 AWS Athena 在 S3 上查询 csv 数据文件,csv 文件中有多个日期列,但 Athena 中的列类型没有“日期”,我尝试使用“时间戳”,但后来无法查询日期列。

有什么建议么?

4

2 回答 2

6

实际上 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';
于 2016-12-10T11:01:46.050 回答
0

Amazon Athena 使用 Apache Hive。Apache Hive 在 Hive 0.12.0 及更高版本中允许“日期”的原始类型。我已经测试并确认它适用于当前的 Athena 实现。

文档链接:https ://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

于 2017-02-03T18:03:13.063 回答