我白天提取數據從一個自定義格式的月使用32核心執行人。我使用抽樣發放工作執行人的核心。我看到一個間歇性的問題,有時候我跑步看到31芯被用作預期,其他時候我看到它用2芯一次(30核心並不做任何事情)…這導致筆記本采取過度的時間才能完成。如果我取消工作並重新運行它通常使用所有的核心。任何想法嗎?
簡化版本的代碼是這樣的:
days_rdd = sc.parallelize cmd_results = days_rdd (days_to_process)。地圖(λ:do_some_work (start_date,年、月、日)).collect cmd_results (r):打印(右)
視圖SparkUI隻有2芯被使用(預計31芯使用;1每天:
工作時所使用的視圖正確顯示31芯:
我可能算出來!
我明確地設置片,而不是使用默認的數量。
days_rdd = sc.parallelize (days_to_process len (days_to_process))