2017-07-28 62 views
0

我正在使用spark來處理大文件,我有12個分區。 我有rdd1和rdd2我做了他們之間的連接,比選擇(rdd3)。 我的問題是,我諮詢了最後一個分區比其他分區太大,從分區1到分區但分區12 9100000 recodrs。 所以我分9100000/45000 =~ 203。我重新分區我的rdd3到214(203+11) 但我最後一個分區仍然太大。 我如何平衡我的分區的大小?用火花指定分區大小

我寫我自己的自定義分區程序?

+0

是'repartition'和'partitionBy' –

+0

您能否詳細說明您嘗試了什麼,以及您得到的反饋表明他們沒有工作? –

+0

也請包括代碼,以便我們可以看到在此過程中您正在重新分區。 –

回答

1

我有RDD1集和RDD2我做一個加入他們

join之間

是最昂貴的操作的火花。爲了能夠通過鍵連接,你必須對值進行混洗,並且如果鍵不是均勻分佈的,你會得到描述的行爲。在這種情況下,自定義分區程序不會幫助你。

我會考慮調整邏輯,所以它不需要完全加入。