spark UI 界面:http://blog.csdn.net/u013013024/article/details/73498508
幾個概念的解釋:http://blog.csdn.net/jiangwlee/article/details/50774561
數據傾斜處理:
https://blog.csdn.net/kaede1209/article/details/81145560
https://www.cnblogs.com/frankdeng/p/9301695.html
- http://www.jasongj.com/spark/skew/
- https://www.iteblog.com/archives/1671.html
- https://blog.csdn.net/lsshlsw/article/details/52025949
總結
數據傾斜無法避免,也有沒有一勞永逸的解決方式,處理數據傾斜是一個長期的過程需要我們慢慢積累經驗,基本思想就是
1.首先從源頭選擇可以split的數據源,從源頭避免傾斜
2.shufle過程中,增加並行度,減少shuffle 在map-side進行數據合並,避免reduce fetch數據傾斜
3.sample采樣將傾斜的數據,特殊處理,這個方法可以適用於所有的數據傾斜問題, 另外,就是我們盡量使用spark-sql,spark-sql里面優化器提供很多基本CRO和CBO的優化策略,不僅幫我們從源頭幫我們去除無關的數據減少計算數據量,其次在計算過程中會根據我們的table 的數據量,自動幫我們計算合適task partition數量,和選擇合適join策略,從而提升計算性能,也避免shufle 數據傾斜
原文鏈接:https://blog.csdn.net/kaede1209/java/article/details/81145560