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. 訪問循環中的RDD時發生火花 - 酸洗錯誤
- 8. 火花殼牌---錯誤:對象jblas不
- 9. 使用火花與笨處理更新的火花
- 10. 火花2到火花1.6
- 11. 洗牌Python的list
- 12. 火花UDF空處理
- 13. SwiftyJSON洗牌
- 14. java:卡洗牌,
- 15. 洗牌註冊
- 16. 洗牌一套
- 17. 火花java.util.logging.Logger中
- 18. H20與火花水的火花差異
- 19. 在Java中洗牌一套
- 20. 如何在Elm中洗牌?
- 21. 洗牌並處理一卡牌的約束
- 22. Apache的火花Scala的異常處理
- 23. Javascript洗牌字母
- 24. 如何洗牌對
- 25. NSArray無法洗牌
- 26. 洗牌在Objective-C
- 27. 洗牌類實例
- 28. 洗牌鏈表棧
- 29. masonry.js不會洗牌
- 30. 火花