Hadoop 映射减少作业建模

Hadoop map reduce job modelling

我是 hadoop 的新手,我需要帮助建模 map reduce 作业。

我有两组文件:GroupA 和 GroupB。两组文件的结构相同:每行中的键、值。 A 组和 B 组具有相同的密钥集。但是,两组中的值不同。文件足够大,因此有 hadoop 选项。

任务是将每个单独键的 A 组和 B 组的属性组合成该键的第三个 属性,然后将所有键的第三个 属性 求和。

现在,乍一看似乎是:Map -> 从两个组文件中收集键值对 Combine-partition-sort-shuffle -> 将相同键的条目分组到相同的分区中,因此它们落在到相同的减速器(由 hadoop 内部处理)减少 -> 将相同的键值组合到第三个 属性 并将其批次写入输出文件。

我不确定如何对第三步进行建模,即在键中添加第三个 属性。我能想到的一种方法是在这个工作之后有另一个 map-red 工作,它可以获取这些文件并通过一个 reducer 将它们组合到结果中。这是正确的建模方法吗?有没有其他方法,我可以模拟这个?是否有可能沿着这样的路线有连续的减速器 - map -> red -> red ?

hadoop 中的模型类似于让两个 map reduce 模型一个接一个地触发。如果我们在 hadoop 上使用 spark,有一个叫做 count 的东西可以在 map-reduce 之后调用以获得最终输出。