你好,我想了解內部洗牌散列連接。我想檢查我的理解是正確的。假設有兩個表t1和t2加入列國家不同值(8)。如果我洗牌分區的數量設置為4兩個執行人。在這種情況下,數據從t1的執行人是首先分成4分區(假設部分0 - 3)/文件(存儲在磁盤或內存作為中間步驟)使用一個散列鍵% 4,同樣都是用t2跨兩個執行器的數據。在降低階段,相同的數據分區合並,最後導致4分區(例如:0數據從t1和t2的執行人是0)合並成一個大的部分在執行之前加入。我對它的理解是正確的嗎?謝謝你的幫助!
@Vinay Emmadi:在火花,一個散列洗牌時使用的連接是一種連接連接兩個數據集在一個共同的關鍵。第一個分區數據基於連接鍵,然後每個分區都打亂發送到集群中的一個節點。洗牌的數據然後排序和合並與另一個數據集相同的連接鍵。
這是一個循序漸進的解釋在火花散列洗牌加入是如何工作的:
希望這可以幫助你!