2013-04-04 39 views
0

從稀疏矩陣中讀特定的行塊我有一個矩陣店如下Hadoop中

ROWID,ColumnID的,價值

我想只讀行的塊併發送它映射到一個映射器。例如,對於映射器,id = 1,2,3,4的行,5,6,7,8到另一個,... 是否可以這樣做?

回答

1

不,這可能是不可能的,除非你跳過一些嚴重的箍。這是減少階段的目的!讓rowid成爲縮小鍵(或者基於它的一些計算......例如(rowid-1)/4),那些塊將被髮送到同一個縮減器。

+0

從你的建議,我有一個想法,每個reducer寫入到一個文件夾。然後,爲了下一步,我可以指定下一個從特定文件夾讀取的映射器。你怎麼看 ? – v4r 2013-04-05 08:55:23

+0

爲什麼你需要它們在特定的mapper中被行塊分開?我的建議是在減速器中執行任何您計劃在製圖器中執行的操作。如果在此之後還有其他處理工作要做,則可以在另一個地圖縮小階段執行,就像您所建議的那樣。 – 2013-04-05 17:19:42