首页 > 解决方案 > 为什么要使用 where 条件计算查询需要对数据进行改组?

问题描述

通过更改参数“spark.sql.shuffle.partitions”,以下查询的性能会有所不同。下面的查询需要改组吗?

从 id 不为空的表中选择 count(*)

我的另一个疑问是,下图中两个阶段之间的界限是什么。是洗牌的意义吗?

在此处输入图像描述

标签: apache-sparkshuffle

解决方案


在第一阶段,所有任务计算单个任务级别计数,然后聚合计数转移到第二阶段,第二阶段将所有计数相加并给出最终计数。


推荐阅读