java - 如何在 MapReduce 中将信息从一个 reducer 传递到另一个 reducer

标签 java hadoop mapreduce

我有两个映射器和两个 reducer (1 和 2)。我的驱动程序类运行两个作业,它们接受两个不同的输入文件并输出两个不同的输出文件(同样是 1 和 2)。所以job1与inputfile1、outputfile1、map1和reduce1相关联; job2 类似。

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

最佳答案

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

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

关于java - 如何在 MapReduce 中将信息从一个 reducer 传递到另一个 reducer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846734/

相关文章:

java - 如何获取搜索结果中出现的术语集?

java - 如何在 eclipse jdt 中扩展到 "organise imports"命令处理程序?

javascript - 在 javascript 中访问/生成 java 枚举

hadoop - 如何识别 MapReduce 程序中的输入格式

hadoop - hadoop中的SUCCESS和part-r-00000文件是什么

java - 如果 junit 测试失败,如何停止 Maven 构建?

hadoop - Hadoop分布式缓存不起作用

hadoop - hbase 没有启动,因为 Master 退出错误

hadoop - 集群重启后获取Hadoop集群上已执行的作业列表

java - Hadoop - 为特定节点的 Mapper 中的每个 map() 函数创建类的单个实例