0
Q
火花機作業的優化
A
回答
0
更多的信息將有助於:
一些通用的建議:
- 安排運營商是非常重要的。並非所有的安排都會導致同樣的表現。運營商的安排應該是這樣的,以減少洗牌數量和洗牌數據量。洗牌是相當昂貴的操作;所有的洗牌數據必須寫入磁盤,然後通過網絡傳輸。
重新分區,加盟,協同組,以及任何的*通過或* ByKey轉換可能導致洗牌。
rdd.groupByKey().mapValues(_.sum)
會產生相同的結果rdd.reduceByKey(_ + _)
。然而,前者將整個網絡傳輸整個數據集,而後者將計算每個分區中每個鍵的局部總和,並在洗牌之後將這些局部總和合併爲更大的總和。
通過利用
broadcast variables
優勢 連接兩個數據集時,您可避免洗牌。
- 避免
flatMap-join-groupBy
模式。 - 避免
reduceByKey
當輸入和輸出值類型不同時。
這並非詳盡無遺。你還應該考慮調整你的Spark配置。
我希望它有幫助。
相關問題
- 1. rdd.checkpoint跳過火花作業
- 2. 如何殺死火花應用的火花作業?
- 3. 優化使用按鍵在火花
- 4. 如何正確提交火花的作業單機集羣
- 5. kafka帶有許多活動作業的火花流作業
- 6. 在具有多個動作的火花應用程序(作業)中重新運行失敗的火花作業
- 7. GC減慢火花作業至停止
- 8. 火花流作業性能改進
- 9. 遠程運行火花作業
- 10. 如何啓動並行火花作業?
- 11. 在火花中運行嵌套作業
- 12. 使用火花作業服務器
- 13. 火花配置優先
- 14. 與星火作業服務器火花SQL作業中的錯誤「無效作業類型的上下文中,」
- 15. 提交星火作業未加載火花cloudant:2.0.0-s_2_11包
- 16. java.lang.NoClassDefFoundError:在Scala代碼通過啓動火花作業時無法初始化類火花提交
- 17. 星火優化
- 18. 爲什麼在提交作業的機器中填充tmp(spark.local.dir)的火花?
- 19. 火花數據框中多列計算的優化方式?
- 20. 卡夫卡流不在火花作業中工作
- 21. 作業使用的執行程序的火花數量
- 22. 火花傳輸可視化
- 23. 如何優化到的範圍。(作業)
- 24. 火花提交作業的分區數量不斷增加
- 25. 如何使用火花作業服務器中的NamedDataFrame
- 26. 閱讀火花批處理作業中的卡夫卡主題
- 27. 紗線上的火花提交 - 多個作業
- 28. 使用數據管道進行火花作業的EMR活動
- 29. 如何處理火花作業中的cassandra連接?
- 30. 如何設置長時間運行的火花流作業
嗨,我的用例如下列問題中列出https://stackoverflow.com/questions/45252906/combine-two-rows-in-spark-based-on-a-condition-in-pyspark。你能告訴我一些我可以學習火花作業優化基礎知識的來源嗎? – AnmolDave