博客 / 詳情

返回

HashTable 在螞蟻轉化歸因中的極致運用

概述

螞蟻的轉化歸因在初期運行兩個多小時的情況下,進行了一系列優化,其中建立hash cluster表及強制hash關聯及Shuffle的手動干預進行remove操作此部分優化佔了較大比重。本文則主要講述hash cluster表的一些運用。
Hash cluster表具有兩個作用:
· 存儲預排序的重排壓縮。Hash cluster表採用分桶排序操作,若相同的值重複度高,則可以達到更好的壓縮效果。
· 下游任務的Shuffle Remove。Hash cluster表由於採用對指定字段分桶操作,下游若一些關聯、聚合操作與分桶鍵策略相同,則會進行Shuffle Remove操作。MaxCompute操作中,Shuffle是昂貴的,因此有必要在優化階段儘可能移除不必要的Shuffle。什麼情況下可以移除Shuffle?簡單來説就是數據本身已經具有某些數據分佈特性,剛好這個數據分佈特性滿足了上游算子對這份數據的分佈要求,就不需要再做Shuffle,這個也是Hash cluster表的重要應用場景。

完整內容請點擊下方鏈接查看:

https://developer.aliyun.com/article/1209042%20?utm_content=g...

版權聲明:本文內容由阿里雲實名註冊用户自發貢獻,版權歸原作者所有,阿里雲開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里雲開發者社區用户服務協議》和《阿里雲開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。
user avatar u_16213335 頭像 huzilachadedanche 頭像 u_17468181 頭像 u_16213430 頭像
4 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.