在许多数据湖中,我看到数据按年、月、日进行分区,例如:
year=2019 / month=05 / day=15
Run Code Online (Sandbox Code Playgroud)
与简单地按日期分区相比,这样做有什么优点?例如:
date=20190515
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一优势是,例如,分析师想要查询特定月份/年份的所有数据。如果只是按日期分区,那么他们必须编写一个对分区键进行计算的查询,例如下面的伪代码:
SELECT * FROM myTable WHERE LEFT(date,4) = 2019
Run Code Online (Sandbox Code Playgroud)
Spark 仍然能够对上述查询进行分区修剪吗?更嵌套的分区结构还有其他我没有考虑到的优点吗?
谢谢