Spark程序的配置

Spark Application’s Configuration

提示:有關(guān)如何配置Spark和用戶程序的詳細(xì)信息,請(qǐng)參閱官方文檔中的Spark Configuration。

必要參數(shù)

在Spark應(yīng)用程序運(yùn)行之前,必須設(shè)置Spark應(yīng)用程序的兩個(gè)必要參數(shù) - spark.masterspark.app.name。

Spark屬性

每個(gè)用戶程序都以創(chuàng)建SparkConf實(shí)例為開始,該實(shí)例包含Master URL(spark.master)信息,Spark應(yīng)用程序的名稱(之后顯示在Web UI中并成為spark.app.name)和其他Spark正常運(yùn)行所需的屬性 。 SparkConf實(shí)例可以用來創(chuàng)建SparkContext。

Spark屬性是調(diào)整Spark應(yīng)用程序執(zhí)行環(huán)境的方法。

你可以在Spark shell中查詢Spark屬性的值,如下所示:

scala> sc.getConf.getOption("spark.local.dir")
res0: Option[String] = None

scala> sc.getConf.getOption("spark.app.name")
res1: Option[String] = Some(Spark shell)

scala> sc.getConf.get("spark.master")
res2: Option[String] = Some(local[*])

設(shè)置Spark屬性

Spark應(yīng)用程序會(huì)從以下幾個(gè)地方查看配置屬性(從最不重要到最重要):

  • conf/spark-defaults.conf Spark屬性的默認(rèn)配置文件
  • --conf or -c spark-submit命令行選項(xiàng),以及其他使用spark-submit或spark-class的shell腳本,例如spark-shell。
  • SparkConf

默認(rèn)的Spark屬性的配置文件是 $SPARK_HOME/conf/spark-defaults.conf,但你可以使用 spark-submit --properties-file 命令行選項(xiàng)覆蓋它。
你可以通過 getDefaultPropertiesFile來獲取 spark-defaults.conf屬性文件的絕對(duì)路徑,該文件可以位于 SPARK_CONF_DIR環(huán)境變量或 $ SPARK_HOME/conf 目錄指定的目錄中。

默認(rèn)配置

你可以通過以下代碼創(chuàng)建Spark的默認(rèn)配置:

import org.apache.spark.SparkConf
val conf = new SparkConf

它只是加載spark.*系統(tǒng)屬性。
您可以使用 conf.toDebugStringconf.getAll 來打印出加載的 spark.*系統(tǒng)屬性。

scala> conf.getAll
res0: Array[(String, String)] = Array((spark.app.name,Spark shell), (spark.jars,""), (spark.master,local[*]), (spark.submit.deployMode,client))

scala> conf.toDebugString
res1: String =
spark.app.name=Spark shell
spark.jars=
spark.master=local[*]
spark.submit.deployMode=client

getAppId 方法

conf.getAppId返回spark.app.id 的屬性值或者拋出NoSuchElementException異常(如果未設(shè)置過spark.app.id)。

基本設(shè)置

Spark屬性 默認(rèn)值 描述
spark.master Master URL
spark.app.id TaskScheduler.applicationId() 程序的唯一標(biāo)識(shí),在創(chuàng)建SparkContext時(shí)設(shè)置(TaskScheduler啟動(dòng)后立即生成)。
spark.app.name 程序名
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容