将多个mapreduce作业与向同一Map器发送数据链接

yc0p9oo0  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(212)

我正面临一个多个mapreduce作业链接的问题。
当前场景的工作方式如下:应用程序处理2个数据源,每个数据源使用来自2个不同目录的“multipleinputs”转到一个单独的Map器
第一个作业读取2个Map器中的输入,处理数据并使用“multipleoutputs”在2个不同的目录上输出数据。
现在,第二个作业应该使用与第一个作业相同的任务id处理第一个任务的输出。
例如,
作业1:2个不同的Map器,1个还原器
mapper1_1读取datasource1目录,创建两个任务来处理它们,并输出ds1/ds1-m-00000和ds1/ds1-m-00001中间文件
mapper1_2读取datasource2目录,创建一个任务来处理它,并输出ds2/ds2-m-00002中间文件
reducer1进行一些计算并输出一些统计信息
作业2:2个不同的Map器,1个还原器
mapper2_1读取ds1目录,创建两个任务来处理这两个中间文件。
mapper2_2读取ds2目录,创建一个任务来处理中间文件。
reducer2进行一些计算以输出最终结果
由于某些原因,第二个作业中必须使用与第一个作业中生成的任务id相同的任务id,但实际上,这些任务id是随机生成的,有时在第二个作业中,它们会像第一个作业一样生成,并且过程成功完成,有时不成功。
是否有任何方法可以控制为两个作业生成相同的任务id,或者生成唯一的编号来标识两个作业中的相同文件?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题