![](/img/trans.png)
[英]spark-submit: Difference between “ --master local[n]” and “--master local --executor-cores m”
[英]What is the difference between spark.task.cpus and --executor-cores
在我的mapPartition部分,有多線程工作要做,我使用線程池並希望並行運行任務。 但我無法區分這兩個參數。 我想我可以將--executor-cores設置為5,並在我的任務中運行4個線程。 這是正確的嗎?
spark.task.cpus
是為每個任務分配--executor-cores
數, - executor --executor-cores
指定每個執行程序的核心數。
這里是解釋執行和任務之間的微小差別在這里 。
要知道每個核心可以運行多少個線程,請查看此帖子。
根據鏈接:
創建SparkContext時,每個worker都會啟動一個執行程序。 這是一個單獨的進程(JVM)。 執行程序連接回驅動程序。 現在驅動程序可以發送命令,如flatMap,map和reduceByKey,這些命令都是任務。
要知道你的cpu支持每個核心運行lscpu
的線程數,並檢查每個核心的Thread(s) per core:
值Thread(s) per core:
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.