spark學習 - 數據傾斜


在這裏插入圖片描述

Example

在這裏插入圖片描述
在這裏插入圖片描述

spark數據傾斜現象

  • 單個Executor執行時間久
  • OOM
    • Executor
    • Driver
      在這裏插入圖片描述
  • Timeout
    在這裏插入圖片描述

數據傾斜原因

在這裏插入圖片描述

發現數據傾斜

  1. 使用sample算子進行抽樣
  2. 使用countByValue對抽樣數據進行聚合計算
  3. 取出前N觀察
    在這裏插入圖片描述

數據傾斜 Solution 1 – 使用reduceByKey

  • groupByKey轉換爲reduceByKey
    • reduceByKey可以在Map端合併
    • 類似於MapReduce中的Combiner
      在這裏插入圖片描述

數據傾斜 Solution 2 – 兩階段聚合

在這裏插入圖片描述

數據傾斜 Solution 3 – 擴增數據

  • 大表隨機添加N種前綴,小表擴增N倍
    在這裏插入圖片描述

數據傾斜 Solution 4 – MapSideJoin

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章