2016-12-10 2 views
4

Я пытаюсь использовать AWS Athena для запроса файлов данных csv на S3, есть несколько столбцов даты в файле csv, но в типах столбцов в Athena нет «даты», я пытался использовать «timestamp», но тогда столбцы даты не могут быть запрошены.Как определить столбец «дата» в AWS Athena?

Любые предложения?

ответ

3

Фактически 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/'; 

QUERY:

select * from test where startdate > DATE'2016-10-13'; 
+0

Да, я заметил, что я могу переопределить DDL использовать тип «дата», но из пользовательского интерфейса, не существует «дата» в столбце типа выпадающего списка, не уверен, что если что-то преднамеренное или нет. – ciphor

+0

Действительно, пользовательский интерфейс не предлагает эту опцию. Пока я этого не использовал. –

0

Amazon Афина использует Apache Hive. Apache Hive позволяет primitive_type «date» в Hive 0.12.0 и более поздних версиях. Я протестировал и подтвердил, что он работает с текущей реализацией Athena.

Ссылка на документацию: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

Смежные вопросы