MapReduce中的函数组合

时间:2013-07-10 06:25:19

标签: java algorithm math hadoop mapreduce

假设我们有两个文件f1和f2,其键值对代表数学意义上的函数。使用MapReduce查找其合成的最简单方法是什么?什么是最有效的方式?

例如,给定:

f1
a -> b
x -> y
s -> t

f2
b -> c
t -> r

f1 . f2 (composition of f1 and f2) would be
a -> c
s -> r

1 个答案:

答案 0 :(得分:1)

  1. f1反转为f1'

  2. 地图同时减少f1'f2。对于x->v2中的每个f2以及x->k1中的所有f1'(如果有),输出k1->v2

  3. 仅当f1具有相当大的范围时才会有效。如果k1太多v1映射到同一{{1}},则相应的地图工作人员将被淹没。