日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spark-submit 参数设置

發(fā)布時間:2024/7/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark-submit 参数设置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在使用spark時,根據集群資源情況和任務數據量等,合理設置參數,包括但不限于以下:

參數說明
masteryarn? E-MapReduce 使用 Yarn 的模式
yarn-client:等同于 –-master yarn —deploy-mode client, 此時不需要指定deploy-mode。?
yarn-cluster:等同于 –-master yarn —deploy-mode cluster, 此時不需要指定deploy-mode。
class作業(yè)的主類
deploy-modeclient 模式表示作業(yè)的 AM 會放在 Master 節(jié)點上運行。要注意的是,如果設置這個參數,那么需要同時指定上面 master 為 yarn。
cluster 模式表示 AM 會隨機的在 worker 節(jié)點中的任意一臺上啟動運行。要注意的是,如果設置這個參數,那么需要同時指定上面 master 為yarn。
executor-cores每個executor使用的內核數,默認為1
num-executors啟動executor的數量,默認為2
executor-memoryexecutor的內存大小,默認為1G
driver-coresdriver使用的內核數,默認為1
driver-memorydriver的內存大小,默認為1G
queue指定了放在哪個隊列里執(zhí)行
spark.default.parallelism該參數用于設置每個stage的默認task數量。這個參數極為重要,如果不設置可能會直接影響你的Spark作業(yè)性能,Spark官網建議的設置原則是,設置該參數為num-executors * executor-cores的2~3倍較為合適
spark.storage.memoryFraction? ?該參數用于設置RDD持久化數據在Executor內存中能占的比例,默認是0.6。也就是說,默認Executor 60%的內存,可以用來保存持久化的RDD數據。根據你選擇的不同的持久化策略,如果內存不夠時,可能數據就不會持久化,或者數據會寫入磁盤。
spark.shuffle.memoryFraction?該參數用于設置shuffle過程中一個task拉取到上個stage的task的輸出后,如果發(fā)現(xiàn)使用的內存超出了這個20%的限制,那么多余的數據就會溢寫到磁盤文件中去,如果發(fā)現(xiàn)使用的內存超出了這個20%的限制,那么多余的數據就會溢寫到磁盤文件中去,此時就會極大地降低性能。
total-executor-cores所有executor的總核數

?

(1)executor_cores*num_executors?
?????表示的是能夠并行執(zhí)行Task的數目不宜太小或太大!一般不超過總隊列 cores 的 25%,比如隊列總 cores ???400,最大不要超過100,最小不建議低于40,除非日志量很小。

(2)executor_cores?
?????不宜為1!否則 work 進程中線程數過少,一般 2~4 為宜。

(3)executor_memory?
?????一般 6~10g 為宜,最大不超過20G,否則會導致GC代價過高,或資源浪費嚴重。

(4)driver-memory?
?????driver 不做任何計算和存儲,只是下發(fā)任務與yarn資源管理器和task交互,除非你是 spark-shell,否則一般 1-2g
? ? ?
(5)如果需要對RDD進行cache,那么更多的內存,就可以緩存更多的數據,將更少的數據寫入磁盤,甚至不寫入磁盤。減少了磁盤IO。

(6)對于shuffle操作,reduce端,會需要內存來存放拉取的數據并進行聚合。如果內存不夠,也會寫入磁盤。
?????如果給executor分配更多內存以后,就有更少的數據,需要寫入磁盤,甚至不需要寫入磁盤。減少了磁盤IO,提升了性能。

(7)對于task的執(zhí)行,可能會創(chuàng)建很多對象.如果內存比較小,可能會頻繁導致JVM堆內存滿了,然后頻繁GC,垃圾回收 ,minor GC和full GC.(速度很慢).內存加大以后,帶來更少的GC,垃圾回收,避免了速度變慢,性能提升。
?

?

總結

以上是生活随笔為你收集整理的spark-submit 参数设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。