参见:https://www.shangmayuan.com/a/cb3d38b1067d4ecfaa4d33cc.html
FS是写表
下面的例子就用到了上面所说的初始投影 sum(A+B)
INSERT OVERWRITE TABLE Result SELECT SUM(A+B), C FROM T GROUP BY C
典型的一个sql优化 shuffle removeal的场景
减少不必要的Shuffle-Sort
有时我们会写出这样的语句:
SELECT A.ID, COUNT(B.ORDER) FROM A JOIN B ON A.ID=B.ID
GROUP BY A.ID
在上面这个例子中,Join 后做Group by ,应该在Join和Group by之间加入一个Shuffle-Sort算子,以保证Group by 算子的输入虚表按照固定的A.ID来排序,但是我们发现,JOIN之后A.ID这个字段本来就是有序的,所以,我们可以将中间这个Shuffle-Sort算子删除,减少数据的网络传输和落地(因为在join的时候 已经有过一次 shuffle-sort的操作)