Запрос сравнения для вложенного раздела дат в Presto / Athena - PullRequest
0 голосов
/ 08 ноября 2019

У меня есть данные паркета на S3, разбитые на разделы в формате, который понимает Hive

s3://<base_path>/year=2019/month=11/day=08/files.pq

Схема таблицы также задает year, month, day в качестве полей раздела.

Возможно ли сравнениезапросы, в частности LIKE, IN, BETWEEN по датам, с этой организацией данных? Блог AWS Лучшие практики Athena , кажется, предлагает его возможность (SELECT count(*) FROM lineitem WHERE l_shipdate >= '1996-09-01' AND l_shipdate < '1996-10-01'), но я не мог понять, как указать составное поле (l_shipdate в запросе), ни во время создания таблицы, ни во время запроса.

1 Ответ

1 голос
/ 08 ноября 2019

Да, это возможно, но выглядит не очень элегантно)

SELECT col1, col2
FROM my_table 
WHERE CAST(date_parse(concat(CAST(year AS VARCHAR(4)),'-',
                             CAST(month AS VARCHAR(2)),'-',
                             CAST(day AS VARCHAR(2))
                             ), '%Y-%m-%d') as DATE) 
BETWEEN DATE '2018-01-01' AND DATE '2018-01-31'
...