1. 程式人生 > 其它 >用over進行開窗 distribute by sort by和partition by order by 用於去重哪個效率比較高?

用over進行開窗 distribute by sort by和partition by order by 用於去重哪個效率比較高?

1.用over開窗時,distribute by sort by換成partition by order by,分割槽表、分桶表、非分割槽表的執行計劃都一樣,1.10版本都是一樣的--測試後時間上基本無差別
2.對分桶表進行測試,如果分桶的欄位和distribute by sort by或者partition by order by是同一欄位的話,分桶表的效能比較非分桶表好:這個比較好理解,本來分桶後資料就是區域性有序的
3.單獨使用order只產生一個reducer(全域性排序),sort(區域性排序)產生多個reducer;
4.distribute by col – 按照col列把資料分散到不同的reduce,
group by把相同key的資料聚集到一起,後續必須是聚合操作,partition by 是分割槽
5.distribute by sort by 等同於cluster by ;

作者:蘇su 出處:https://www.cnblogs.com/suheng01/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利.