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