Java 如何在MapReduce中将信息从一个减速器传递到另一个减速器

Java 如何在MapReduce中将信息从一个减速器传递到另一个减速器,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我有两个映射器和两个还原器(1和2)。我的驱动程序类运行两个作业,它们接收两个不同的输入文件并输出两个不同的输出文件(同样,1和2)。因此job1与inputfile1、outputfile1、map1和reduce1关联;job2也是如此 Reduce1使用context.write输出形式(id、number)的数据。我的目标是在Reduce2中访问这些键值对,但我不知道如何访问。我曾尝试在reduce1中执行conf.setInt,但没有将值传递到reduce2,因为我在执行conf.ge

我有两个映射器和两个还原器(1和2)。我的驱动程序类运行两个作业,它们接收两个不同的输入文件并输出两个不同的输出文件(同样,1和2)。因此job1与inputfile1、outputfile1、map1和reduce1关联;job2也是如此


Reduce1使用context.write输出形式(id、number)的数据。我的目标是在Reduce2中访问这些键值对,但我不知道如何访问。我曾尝试在reduce1中执行conf.setInt,但没有将值传递到reduce2,因为我在执行conf.getInt时没有得到它们。

回到这里,根据我的经验,您将输出写入一个路径,然后使用该路径作为输入运行另一个作业


理论上,如果在第一个作业上的
waitForCompletion
方法之后添加更多代码,您可以在一个程序中创建两个作业

为什么不使用Spark over MapReduce?@cricket_007不能。我必须使用Mapreduce。根据经验,我可以说,在过去5年中,没有一个我共事过的人真正编写过Mapreduce,但无论如何,您尝试使用的配置类应该在整个作业生命周期中保持不变。或者,您只需将job1的输出路径作为job2的输入路径(这是Hive、Pig、Spark等的功能)。。。。你能分享你的代码吗?你不能使用ApacheOozie工作流吗??为什么不能使用double MapReduce操作来连接这两个数据源?