我在這裏坦率地說虧本。我有一個任務,始終執行隻是非常。今天早上我花了一些時間來調試它和物理顯示238 tib的洗牌計劃:
物理計劃= = = = AdaptiveSparkPlan(40) + - = = = =當前計劃SerializeFromObject (22) + - MapPartitions (21) + - DeserializeToObject項目(19)(20)+ - + - ObjectHashAggregate(18) + -交換(17)+ ObjectHashAggregate (16) + - ObjectHashAggregate (15) + - ShuffleQueryStage(14),統計(sizeInBytes = 238.0 TiB) + -交換(13)+ ObjectHashAggregate項目(11)(12)+ - * + - CartesianProduct內(10):- *項目(5):+ - *過濾器(4):+ - *項目(3):+ - * ColumnarToRow(2): + -掃描拚花(1)+ - *(9)+ - *項目(8)+ - * ColumnarToRow(7) + -掃描拚花(6)
我能理解這個數字如果我是處理大量的數據。我不是。這個查詢的笛卡兒積產生125行如下所示,所以不是我的合並邏輯
此外,輸出表也不是很大;這是15個文件沒有大於10 mb的文件(注意:我肯定能做一些實現更好的設置,但這是另一個故事)。
我覺得我的智慧與這個問題。任何想法,我們將不勝感激。
結果BroadcastNestedLoopJoin。一旦我修改了我的邏輯刪除,性能。