当多个MapReduce作业被链接时,是写入HDFS的每个作业的输出



假设多个MapReduce作业被链接,如下所示。

Map1-Reduce1 -> Map2-Reduce2 -> ... -> MapN-ReduceN

是否会将每个MapReduce作业的输出写入HDFS?例如,Map1-Reduce1的输出会被写入HDFS吗?如果Map2-Reduce2中的任务失败,是否可以通过读取Map1-Reduce1的输出来重新启动Map2-Reduxe2,该输出已经在HDFS中。

您可以通过扩展Configured类并编写多个作业配置来实现这一点,即每个M-R一个作业配置。一个m-r实例的outputpath将用作第二个实例的输入。

是的,您可以使用oozie通过HDFS将输出从一个MapR串行化到另一个。您应该在Hadoop中签出ChainMapper类。

您可以使用oozie或Spring Batch,两者都适合您的解决方案。您可以将每个步骤的输出写入HDFS,并在下一个Map Reduce作业中读取。

相关内容

  • 没有找到相关文章

最新更新