取消
顯示的結果
而不是尋找
你的意思是:

理解分區在當地引發模式

Personal1
新的因素

我有一些基本問題在Spark3運行一個簡單的火花應用在我當地的mac機(總共6芯)。請幫助。

  1. 當地[*]運行我的火花和所有在場的核心應用程序在本地模式下在我的mac,正確嗎?這也意味著dataframe將盡可能多的分區主可用內核的數量,對嗎?
  2. 當我運行與當地[*],我得到12作為SparkContext defaultParallelism。當我運行與當地[2]等任何數量,當地[4]等就得到相同數量的defaultParallelism SparkContext。這是為什麼呢?並引發計算defaultParallelism作為核心的總數* 2當它看到主人當地[*]否則它使它等於輸入我給嗎?
  3. 啟用查詢執行或不適應後,我看到的分區數量dataframe 12當主人是當地[*]而7當主人是當地[4]。我認為AQE是決定正確的火花的分區數量3。那是不正確的嗎?為什麼要7分區的數量當主人是當地[4]嗎?
  4. 我能打印版本和火花sc.master即使停止火花或sc。為什麼?不應該我得到一個錯誤的連接已經不再活躍嗎?

下麵是代碼:

從pyspark。sql進口SparkSession

火花= SparkSession.builder.master .appName(“地方[*]”)(“測試”).getOrCreate ()

打印(“火花版本:“spark.version)

sc = spark.sparkContext

打印(“大師:“sc.master)

打印(默認並行性:,sc.defaultParallelism)

print (AQE:啟用,spark.conf.get (spark.sql.adaptive.enabled))

spark.conf.set (“spark.sql.adaptive.enabled”,“真正的”)

print (AQE:啟用,spark.conf.get (spark.sql.adaptive.enabled))

df = spark.read.load(“/用戶/用戶/ xyz.csv”,

格式= " csv”, 9 =”、“inferSchema = " true ",頭= " true ")

print (dataframe:沒有分區,df.rdd.getNumPartitions ())

打印(sc.uiWebUrl)

spark.stop ()

打印(“火花版本:“spark.version)

打印(“大師:“sc.master)

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

這是一個許多問題在一個主題。

讓我們試一試:

[1]這都取決於有關參數的值,程序運行

(想加入工會,重新分區等)

[2]spark.default.parallelism默認內核的數量* 2

[3]自適應查詢執行(AQE)是一種優化技術在火花SQL利用運行時統計數據,選擇最有效的查詢執行計劃。

AQE不僅決定分區的數量。

https://spark.apache.org/docs/latest/sql-performance-tuning.html

[4]不知道,也許是緩衝/緩存的地方

在原帖子查看解決方案

3回複3

匿名
不適用

你好,

我的名字是風笛手,我社區版主之一。謝謝你的問題。它們看起來就像好的!讓我們看看社區回應,然後我們會看到如果我們需要團隊跟進。

werners1
尊敬的貢獻者三世

這是一個許多問題在一個主題。

讓我們試一試:

[1]這都取決於有關參數的值,程序運行

(想加入工會,重新分區等)

[2]spark.default.parallelism默認內核的數量* 2

[3]自適應查詢執行(AQE)是一種優化技術在火花SQL利用運行時統計數據,選擇最有效的查詢執行計劃。

AQE不僅決定分區的數量。

https://spark.apache.org/docs/latest/sql-performance-tuning.html

[4]不知道,也許是緩衝/緩存的地方

Kaniz
社區經理
社區經理

嗨@Abhishek Pradhan,隻是一個友好的後續。你還需要幫助,或@Werner Stinckens’s響應幫助你找到解決方案了嗎?請讓我們知道。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map