2013-10-08 44 views
0

在第一张map reduce工作中,我正在处理一个HBase表并输出一个较小的rowkeys列表。我需要使用这个字符串列表来处理另一个从其他HBase表中拉出并且输出到另一个HBase表的另一个map reduce作业。存储和访问第一张地图缩小作业输出的正确方法是什么?如何使用地图缩小输出作为另一个地图缩小作业的输入?

+0

如果从第一MapReduce工作的输出不是很大,你可以把分布式缓存,这将提供给第二MapReduce工作使用输出。 – Chaos

回答

0

的Hadoop不支持一个MR作业的输出流到另一个。因此,第一个MR作业的输出必须存储在HDFS(或其他持久性存储器)中,然后在第二个MR作业中读取。使用OozieAzkaban创建一个DAG作业。对于简单的工作流程,请使用Hadoop的JobControl API。

Apache Tez这仍然是在孵化阶段允许跨越MR任务数据的流。如前所述,Tez仍处于孵化器阶段,所以谨慎使用它。