已提出一个基于AWS上Spark的数据仓库(可能是Glue ETL,但也可能是EMR),其中分区是按天(yyyy,mm,dd)划分的,每个表的数据基于初始快照,并且每日增量上传到分区。数据将存储在Parquet文件中。
变化量将仅包含已更改的列。在Spark和Parquet Predicate Pushdown之间,已经断言不需要分区扫描。但是,从我的研究看来,在这种情况下,谓词下推实际上并没有帮助,因为如果您基于仅给出“给我最新”列值的分区创建“ WHERE”子句,Spark仍会必须开始扫描最新的分区,然后回溯直到找到列值。
实际上,在我看来,一段时间内未更改的列将是最差的查询执行者。
我想念什么吗?