spark之Executor與初始化SparkSession


關於Executor:

一個executor同時只能執行一個計算任務

但一個worker(物理節點)上可以同時運行多個executor

executor的數量決定了同時處理任務的數量

一般來說,分區數遠大於executor的數量才是合理的

同一個作業,在計算邏輯不變的情況下,分區數和executor的數量很大程度上決定了作業運行的時間

初始化SparkSession

scala版本

import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder().master("yarn-client").appName("New SS").config("spark.executor.instances","10").config("spark.executor.memory","10g").getOrCreate()
import spark.implicits._

  在代碼中,我們通過配置指明了spark運行環境時的yarn,並以yarn-client的方式提交作業(yarn還支持yarn-cluster的方式,區別在於前者driver運行在客戶端,后者driver運行在yarn的container中)。我們一共申請了10個executer,每個10g。

python版本

from pyspark.sql import SparkSession
spark = SparkSession.builder.master("yarn-client").appName("New SS").config("spark.executor.instances","10").config("spark.executor.memory","10g").getOrCreate()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM