我想加入两个不同的MapReduce作业的输出。我希望能够做下面的事情,但是我无法弄清楚如何重用先前工作的结果并将其加入。我该怎么办?
Job1:
Andrea Vanzo, c288f70f-f417-4a96-8528-25c61372cae7, 125
Job2:
c288f70f-f417-4a96-8528-25c61372cae7, 071e1103-1b06-4671-8324-a9beb3e90d18, 25
Result:
Andrea Vanzo, c288f70f-f417-4a96-8528-25c61372cae7, 25
答案 0 :(得分:0)
您可以使用JobControl
在mappereduce中设置工作流程,顺便说一句(使用MultipleInputs
读取job1&job2的输出也可以解决您的问题。
使用不同的处理方法并根据数据路径写入数据。
映射器
job1data == job1.path =>拆分写入密钥数据[1],值数据[0] +“ tagjob1”
job2data == job2.path =>拆分写入密钥数据[0],值数据[0] +“ tagjob2”
减速器
每个键都有其值集。
通过“标签”将值放入两个列表组
写出密钥和两个列表的每个笛卡尔积。
希望