2011-03-31 120 views
2

我有幾個Hbase表。我希望在每個表上運行一個map任務(每個map是不同的Mapper類,因爲每個表都包含異構數據),然後是一個reduce。使用Hadoop和HBase減少一個映射然後減少

如果這可能沒有明確減少每個地圖後的數據到臨時SequenceFile,我不能工作。

任何幫助將感激地收到。

回答

1

看起來你一次只能在一張桌子上運行MR(請參閱TableMapReduceUtil)。所以最可能的是,您最好的選擇就像您懷疑的那樣:將每個表的輸出保存到臨時位置(例如SequenceFile或tmp hbase表),然後編寫一個最終MR作業,將該位置作爲輸入併合並結果。另外,如果每個MR作業都以通用格式輸出數據,則可能甚至不需要最後的MR合併作業。

+0

看起來你是對的。我注意到它有一個Jira問題。 https://issues.apache.org/jira/browse/HBASE-2965 – johna 2011-04-04 11:13:52