[英]executor memory setting in spark
我制作了獨立的集群,並希望找到處理我的應用程序的最快方法。 我的機器有 12 克內存。 這是我嘗試過的一些結果。
Test A (took 15mins)
1 worker node
spark.executor.memory = 8g
spark.driver.memory = 6g
Test B(took 8mins)
2 worker nodes
spark.executor.memory = 4g
spark.driver.memory = 6g
Test C(took 6mins)
2 worker nodes
spark.executor.memory = 6g
spark.driver.memory = 6g
Test D(took 6mins)
3 worker nodes
spark.executor.memory = 4g
spark.driver.memory = 6g
Test E(took 6mins)
3 worker nodes
spark.executor.memory = 6g
spark.driver.memory = 6g
在 TestB 上,您的應用程序在 2 個 CPU 上並行運行,因此總時間幾乎是一半。
關於內存 - 內存設置定義上限 設置少量將使您的。 應用程序來執行更多的 GC,如果最終你的堆滿了,你會收到一個OutOfMemoryException
。
關於最合適的配置 - 好吧,這取決於。 如果您的任務不消耗太多 RAM - 將 Spark 配置為擁有與您的 CPU 一樣多的執行程序。 否則,配置您的執行程序以匹配所需的適當 RAM 量。 請記住,這些限制不應該是恆定的,並且可能會根據您的應用程序要求而改變。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.