1
groupByKey是否會導致整個網絡中所有值的混洗,即使它們已經位於一個分區內,當我們在sparkSQL中通過操作進行分組時,它使用groupbykey還是使用aggregateByKey來獲得性能?GroupbyKey on spark數據集
groupByKey是否會導致整個網絡中所有值的混洗,即使它們已經位於一個分區內,當我們在sparkSQL中通過操作進行分組時,它使用groupbykey還是使用aggregateByKey來獲得性能?GroupbyKey on spark數據集
groupByKey
如果密鑰全部位於每個分區內,則數據不會混洗。但那將是一種罕見的情況。
groupBy
sparkSQL
中的操作是aggregateByKey
,它使其成爲聚合操作。我們可以在groupBy
的sparkSQL
之後定義聚合函數。 groupBy
只需爲每個組和每個聚合創建一個Aggregation Expressions
實例,並遍歷數據並不斷更新這些表達式