簡體   English   中英

spark.task.cpus和--executor-cores之間有什么區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM