SQL优化器原理-Shuffle优化
这是MaxCompute有关SQL优化器原理的系列文章之一。我们会陆续推出SQL优化器有关优化规则和框架的其他文章。添加钉钉群“关系代数优化技术”(群号11719083)可以获取最新文章发布动态。
本文主要介绍MaxCompute Optimizer对Shuffle方面的相关优化。
1 简介
分布式系统中,Shuffle是重操作之一,直接影响到了SQL运行时的效率。Join、Aggregate等操作符都需要借助Shuffle操作符,确保相同数据分发到同一机器或Instance中,才可以进行Join、Aggregate操作。对于这些需要经常使用到Shuffle场景,如何减少Shuffle,删除一些不必要的Shuffle是提升性能的一个关键。
例如
select count(*), c1 from t group by c1;
假设t表如果是Ha