Presto/Athena 中嵌套日期分区的比较查询

2024-04-12

我将 parquet 数据存储在 S3 上,以 Hive 理解的格式进行分区

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

表模式还指定year, month, day作为分区字段。

是否可以比较查询,特别是LIKE, IN, BETWEEN日期,用这种数据组织?一个AWS雅典娜最佳实践 https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/博客似乎表明它是可能的(SELECT count(*) FROM lineitem WHERE l_shipdate >= '1996-09-01' AND l_shipdate < '1996-10-01'),但我不知道如何指定复合字段(l_shipdate在查询中),无论是在表创建期间还是在查询期间。


是的,这是可能的,但看起来不太优雅)

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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Presto/Athena 中嵌套日期分区的比较查询 的相关文章

随机推荐