Spark引數詳解

2021-10-06 08:37:59 字數 2287 閱讀 9542

spark-shell

是spark

自帶的互動式

shell

程式,方便使用者進行互動式程式設計,使用者可以在該命令列下可以用scala編寫spark程式,適合學習測試時使用!

●示例spark-shell可以攜帶引數

spark-shell --master local[n] 數字n表示在本地模擬n個執行緒來執行當前任務

spark-shell --master local[*] *表示使用當前機器上所有可用的資源

預設不攜帶引數就是--master local[*]

spark-shell --master spark://node01:7077,node02:7077 表示執行在集群上

spark-submit

命令用來提交

jar包給

spark

集群/yarn

spark-shell互動式程式設計確實很方便我們進行學習測試,但是在實際中我們一般是使用idea開發spark應用程式打成jar包交給spark集群/yarn去執行。

spark-submit命令是我們開發時常用的!!!

示例:計算π

cd /export/servers/spark

/export/servers/spark/bin/spark-submit \

--class org.apache.spark.examples.sparkpi \

--master spark://node01:7077  \

--executor-memory 1g \

--total-executor-cores 2 \

/export/servers/spark/examples/jars/spark-examples_2.11-2.2.0.jar \

10●master引數形式

master形式 解釋

local

本地以乙個worker執行緒執行(例如非並行的情況).

local[n]

本地以k worker 執行緒 (理想情況下, n設定為你機器的cpu核數).

local[*]

本地以本機同樣核數的執行緒執行.

spark://host:port

連線到指定的spark standalone cluster master. 埠是你的master集群配置的埠,預設值為7077.

mesos://host:port

連線到指定的mesos 集群. port是你配置的mesos埠, 預設5050. 或者使用zk,格式為 mesos://zk://....

yarn-client

以client模式連線到yarn cluster. 集群的位置基於hadoop_conf_dir 變數找到.

yarn-cluster

以cluster模式連線到yarn cluster. 集群的位置基於hadoop_conf_dir 變數找到.

其他引數示例

--master spark://node01:7077    指定 master 的位址

--class                           程式的main方法所在的類

--jars  xx.jar                    程式額外使用的 jar 包

--driver-memory 512m             driver執行所需要的記憶體, 預設1g

--executor-memory 2g             指定每個 executor 可用記憶體為 2g, 預設1g

--executor-cores 1               指定每乙個 executor 可用的核數

--total-executor-cores 2         指定整個集群執行任務使用的 cup 核數為 2 個

--queue default                指定任務的對列

--deploy-mode                   指定執行模式(client/cluster)

●注意:

如果 worker 節點的記憶體不足,那麼在啟動 spark-submit的時候,就不能為 executor分配超出 worker 可用的記憶體容量。

如果--executor-cores超過了每個 worker 可用的 cores,任務處於等待狀態。

如果--total-executor-cores即使超過可用的 cores,預設使用所有的。以後當集群其他的資源釋放之後,就會被該程式所使用。

如果記憶體或單個 executor 的 cores 不足,啟動 spark-submit 就會報錯,任務處於等待狀態,不能正常執行。

Spark 效能相關引數配置詳解 Storage篇

隨著spark的逐漸成熟完善,越來越多的可配置引數被新增到spark中來,本文試圖通過闡述這其中部分引數的工作原理和配置思路,和大家一起 一下如何根據實際場合對spark進行配置優化。由於篇幅較長,所以在這裡分篇組織,如果要看最新完整的網頁版內容,可以戳這裡 主要是便於更新內容 storage相關配...

Spark運算元詳解

目錄 spark常用運算元詳解 3.getnumpartitions 4.partitions 5.foreachpartition 6.coalesce 7.repartition 8.union,zip,join 9.zipwithindex,zipwithuniqueid 未完待續.本文主要介...

spark 任務詳解

以下是我對spark任務提交的理解 1 將我們編寫的程式打成jar包 2 呼叫spark submit指令碼提交任務到集群上執行 3 執行sparksubmit的main方法,在這個方法中通過反射的方式建立我們編寫的主類的例項物件,然後呼叫main方法,開始執行我們的 注意,我們的spark程式中的...