99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-25 閱讀量: 2046
spark 如何解決task過多的情況?

task過多,原因是分區(qū)的問題。我們應(yīng)該從分區(qū)入手,是輸入的小文件太多,還是本來就會有大數(shù)據(jù)量。在分區(qū)過多時,限定分區(qū)個數(shù)看看性能是否提高,也可以在filter等操作后對分區(qū)進(jìn)行一定縮減。大量使用shuffle操作使task增加(這個應(yīng)該不是本問題原因,但是我們應(yīng)該考慮這也是讓task增加的原因),這樣會完成多個stage串行會降低效率。

當(dāng)我們真的無法避免這么多task時候,我們應(yīng)該用最佳的參數(shù)進(jìn)行調(diào)優(yōu),如下:

1) executor_cores*num_executors 不宜太小或太大!一般不超過總隊列 cores 的 25%,比如隊列總 cores 400,最大不要超過100,最小不建議低于 40,除非日志量很小。

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

3) executor_memory 一般 6~10g 為宜,最大不超過 20G,否則會導(dǎo)致 GC 代價過高,或資源浪費(fèi)嚴(yán)重。

4) spark_parallelism 一般為 executor_cores*num_executors 的 1~4 倍,系統(tǒng)默認(rèn)值 64,不設(shè)置的話會導(dǎo)致 task 很多的時候被分批串行執(zhí)行,或大量 cores 空閑,資源浪費(fèi)嚴(yán)重。

5) driver-memory 早前有同學(xué)設(shè)置 20G,其實(shí) driver 不做任何計算和存儲,只是下發(fā)任務(wù)與yarn資源管理器和task交互,除非你是 spark-shell,否則一般 1-2g 就夠了。
42.8571
2
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子