2013-06-26 49 views
1

Hy,在Hadoop中分組數據

我遇到以下問題。我有2個數據集,包含具有以下結構的數據的一個:

A1 B2 C1 D1 
A1 B2 C1 D3 
A3 B1 C2 D2 
etc 

和含有這些對象值中的另一個:

A1=x 
B2=y 
C1=z 
D1=q 
etc 

我怎樣才能組數據,以便比我可以有A1 = x B2 = y C1 = z D1 = q在一個地方,來計算它們?

謝謝!

+0

第二個數據集是否足夠小以適合數據節點上的內存? – climbage

+0

讓我們說是的。你說要將它保存到列表中? – sergiuz

+1

更可能是某種地圖,但是。你可以通過'DistributedCache'分發文件,並用你的映射器讀取它。 – climbage

回答

1

如果第二個數據集很小,可以將其放入分佈式緩存。

您可以在映射器&中逐行讀取第一個數據集,然後使用來自分佈式緩存的輸入來獲取值,然後發出一個鍵值對,如<「A1 = x B2 = y C1 = z D1 = q「,1>

+0

謝謝你們!我的實際數據集實際上包含〜1.200.000行值:每行30-40個字符。不知道是否太大或不適合記憶。 – sergiuz

+0

那應該不會太大,你可以試試看 – Chaos