Q
理解火花中的洗牌
2
A
回答
3
攪亂此處階段之間表示爲界限:
- 階段30 - 第一階段33
- 階段31 - 第一階段33
- 階段32 - 第一階段33
一旦數據已被洗牌,所有洗牌RDDs使用相同的分區最終join
是1-1依賴(如果所有部分已經在同一行動中執行,它也是本地的,由於搭配),並且不需要額外的洗牌階段。
1
Shuffling
是跨分區(又稱重新分區)重新分配數據的過程,這些分區可能會導致跨越JVM進程或甚至通過線路(在獨立機器上的執行者之間)移動數據。
在你的情況下,在並行化步驟之間進行混洗 - 階段30,31,32作爲輸入,最終階段33作爲目標成對。
不惜一切代價避免洗牌。考慮如何利用現有分區,或使用Broadcast
變量並嘗試減少數據傳輸。 有關在Spark中洗牌的更多信息,您可以閱讀here。
相關問題
- 1. 火花洗牌
- 2. 而不洗牌火花
- 3. 火花洗牌讀取時間
- 4. 火花正在洗牌大量數據
- 5. 火花清理洗牌溢出到磁盤
- 6. 火花處理數據混洗嗎?
- 7. 理解火花--master
- 8. 火花Scala的理解reduceByKey(_ + _)
- 9. 泄漏到磁盤並洗牌寫火花
- 10. 火花笛卡爾不會導致洗牌?
- 11. 瞭解Spark洗牌溢出
- 12. 嘗試理解火花流工作
- 13. 在火花洗牌階段在堆空間上發生了什麼
- 14. 訪問循環中的RDD時發生火花 - 酸洗錯誤
- 15. 洗牌算法:晚餐部門洗牌
- 16. 洗牌一副牌?
- 17. 使用火花與笨處理更新的火花
- 18. 火花殼牌---錯誤:對象jblas不
- 19. 火花2到火花1.6
- 20. 火花UDF空處理
- 21. 洗牌Python的list
- 22. 洗牌DefaultListModel
- 23. java:卡洗牌,
- 24. 如何洗牌
- 25. 洗牌一套
- 26. SwiftyJSON洗牌
- 27. 洗牌註冊
- 28. 火花java.util.logging.Logger中
- 29. PHP解析XML化妝結果洗牌
- 30. H20與火花水的火花差異