我有一個表spark101三角洲。航空公司(來自/ databricks-datasets /航空/)分區由“年”。我的“spark.sql.shuffle。分區的設置為默認的200。我運行一個簡單的查詢:
從spark101選擇起源,count (*)。航空集團的起源
階段1:讀取數據到17個分區,類似於我的‘spark.sql.files.maxPartitionBytes’。這個階段也pre-aggregates數據範圍內的每個執行器並保存成200個分區。
我希望:
階段2:它應該產生200任務閱讀和綜合分區從之前的階段。
我上帝而不是:
所有其他階段增加了200,但是為什麼有獨立的工作了?
我認為這是磚是否在運行一個查詢結果返回給筆記本。當我寫這個sql語句到存儲,那麼隻有1 2階段,如預期的工作。