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

為什麼磚產生多個作業的

pawelmitrus
新的貢獻者三世

我有一個表spark101三角洲。航空公司(來自/ databricks-datasets /航空/)分區由“年”。我的“spark.sql.shuffle。分區的設置為默認的200。我運行一個簡單的查詢:

從spark101選擇起源,count (*)。航空集團的起源

階段1:讀取數據到17個分區,類似於我的‘spark.sql.files.maxPartitionBytes’。這個階段也pre-aggregates數據範圍內的每個執行器並保存成200個分區。

我希望:

階段2:它應該產生200任務閱讀和綜合分區從之前的階段。

我上帝而不是:

圖像所有其他階段增加了200,但是為什麼有獨立的工作了?

4回複4

werners1
尊敬的貢獻者三世

工作得到了行動。

看來你有多個代碼中的行動。

是你發布的代碼片段整個筆記本嗎?

pawelmitrus
新的貢獻者三世

我認為這是磚是否在運行一個查詢結果返回給筆記本。當我寫這個sql語句到存儲,那麼隻有1 2階段,如預期的工作。

pawelmitrus
新的貢獻者三世

是的,這是我的一切。我還應該提及:

  • 磚運行時10.4 LTS
  • 我已經禁用AQE

它看起來像磚有某種方法的創造就業機會/階段的方式:

  • 從1開始
  • 乘以4,如果不夠,那麼……
  • 乘以5,如果不夠,那麼……
  • 乘以5,如果不夠,那麼……
  • 把其餘的

所以最終它是(1、4、20、100、75)= 200

User16753725469
因素二世

請粘貼這裏的查詢計劃分析問題

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

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

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

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

Baidu
map