Spark學習之Spark調優與除錯(7)

2021-07-09 12:52:22 字數 1677 閱讀 2380

當建立乙個sparkcontext時就會建立乙個sparkconf例項。
優先順序最高的是在使用者**中顯示呼叫set()方法設定選項;

其次是通過spark-submit傳遞的引數;

再次是寫在配置檔案裡的值;

最後是系統的預設值。

需求:使用spark shell完成簡單的日誌分析應用。
scala> val input =sc.textfile("/home/spark01/documents/input.text")

scala> val tokenized = input.map(line=>line.split(" ")).filter(words=>words.size>0)

scala> val counts = tokenized.map(words=>(words(0),1)).reducebykey

counts: org.apache.spark.rdd.rdd[(string, int)] = shuffledrdd[7] at reducebykey at :31

scala> // see rdd

scala> input.todebugstring

res0: string =

| /home/spark01/documents/input.text hadooprdd[2] at textfile at :27

scala> counts.todebugstring

res1: string =

(1) shuffledrdd[7] at reducebykey at :31

| /home/spark01/documents/input.text hadooprdd[2] at textfile at :27

scala> counts.collect()

res2: array[(string, int)] = array((error,1), (##input.text##,1), (info,4), ("",2), (warn,2))

scala> counts.cache()

res3: counts.type = shuffledrdd[7] at reducebykey at :31

scala> counts.collect()

res5: array[(string, int)] = array((error,1), (##input.text##,1), (info,4), ("",2), (warn,2))

scala>

預設情況位址是http://localhost:4040

通過瀏覽器可以檢視已經執行過的作業(job)的詳細情況

如圖下圖:

圖1所有任務使用者介面

圖二作業2詳細資訊使用者介面

**層面:並行度、序列化格式、記憶體管理

執行環境:硬體供給。

spark調優 shuffle調優

基於spark1.6 引數可以通過 new sparkcontext set 來設定,也可以通過命令的引數設定 conf spark.shuffle.file.buffer 預設值 32k 引數說明 該引數用於設定shuffle write task的bufferedoutputstream的buf...

spark調優 shuffle調優

每乙個shuffle的前半部分stage的task,每個task都會建立下乙個stage的task數量相同的檔案,比如下乙個stage會有100個task,那麼當前stage每個task都會建立100份檔案,會將同乙個key對應的values,一定是寫入同乙個檔案中的,也一定會將同乙個key對應的v...

Spark調優詳解

調優概述 spark效能調優 1 spark效能調優 2 調優主要方法 開發調優 資料本地化調優 資料傾斜調優 shuffle調優 資源調優 jvm調優 spark中對於乙個rdd的執行多次運算元的預設原理是這樣的 每次你對乙個rdd執行乙個運算元的操作的時候,都會從源頭計算一遍 因為rdd是根據f...