簡體   English   中英

有人可以讓我知道如何確定Spark提交作業中的--executor內存和--num-of-executors嗎? -core-of-cores的概念是什么

[英]can someone let me know how to decide --executor memory and --num-of-executors in spark submit job . What is the concept of -number-of-cores

如何確定Spark提交作業中的--executor內存和--num-of-executors。 -core-of-cores的概念是什么。

集群和客戶端部署模式之間也存在明顯區別。 如何選擇部署模式

問題的第一部分詢問--num-executors --executor-memory ,-- --num-executors--num-executor-cores通常取決於Spark應用程序要執行的任務種類。

  • 執行程序內存指示您要分配給運行執行程序的JVM的物理內存量。 該值將取決於您的要求。 例如,如果您僅要解析大型文本文件,則所需的內存將比圖像處理所需的內存少得多。
  • executors變量的數量是您要在集群上生成的Executor JVM的數量。 同樣,它取決於許多因素,例如群集大小,群集中的計算機類型等。
  • 每個執行器拆分代碼並執行tasks的指令。 這些任務在執行程序核心(或處理器)中執行。 這可以幫助您在某個執行程序內實現並行性,但要確保沒有將計算機的所有內核分配給其執行程序,因為正常運行需要一些內核。

在問題的第二部分,我們在Spark中有兩個--deploy-mode ,您已經將其命名為clusterclient

  • client模式是將外部計算機連接到群集並從該外部計算機運行Spark作業時的模式。 就像將便攜式計算機連接到群集並從中運行spark-shell一樣。 斷開便攜式計算機的連接后,便會在便攜式計算機中調用驅動程序JVM,並終止會話。 spark-submit作業的情況與此類似,如果您使用--deploy-mode client運行作業,則您的筆記本電腦將像主計算機一樣工作,但是一旦斷開連接,該作業將被終止(對此不確定)。
  • cluster模式:當您在作業中指定--deploy-mode cluster ,即使您使用便攜式計算機或任何其他計算機運行它,該作業(JAR)也會由ResourceManager和ApplicationMaster處理,就像紗。 您將無法在屏幕上看到輸出,但是無論如何,大多數復雜的Spark作業都將寫入FS,因此可以解決這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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