join操做避免數據混洗的partitionBy()方法

咱們常常須要把兩張表進行join操做。 在join時,咱們對數據集是如何分區的一無所知。 默認狀況下,會把兩個數據集中全部鍵的哈希值都求出來,將該哈希值相同的記錄經過網絡傳到同一臺機器上,而後在那臺機器上對全部鍵相同的記錄進行鏈接。 當出現特殊狀況時,好比兩張表裏某張表很是大,而且這張表裏的數據又沒有變化過。那麼每一次join都會去求全部哈希值,浪費了很多時間,每一次求出的哈希值都是同樣的。以下圖
相關文章
相關標籤/搜索