如何在mapreduce中连接多个数据集

时间:2017-08-29 15:36:53

标签: hadoop join mapreduce

假设我有三个数据集,我想通过加入所有这三个数据集/文件来回答多个问题。例如,如果第一个数据集有( id ,名称),第二个数据集有( id ,sum, key ),第三个数据集有(密钥,价格)。

如何使用 id 加入第一个和第二个文件,并在同一个程序中如何使用加入第二个和第三个?

1 个答案:

答案 0 :(得分:1)

在同一程序中无法执行此操作。要完成您想要做的事情,您必须运行两个map-reduce作业。

第一个map-reduce作业会占用第一个文件,第二个文件会生成一个格式如下的输出文件 -

id name,sum,key

在上面,reducer键是“id”,reducer值是“name,sum,key”

第二个map-reduce作业处理第一个map-reduce作业的输出,第三个文件生成一个格式如下的输出文件 -

id,key name,sum,price

在上面,reducer键是“id,key”,reducer值是“name,sum,price”