2013-07-10 89 views
1

假设我们有2个文件f1和f2,其键 - 值对在数学意义上表示函数。使用MapReduce查找其组成的最简单方法是什么?什么是最有效的方法?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
  1. 反转f1f1'

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

这只会在f1有相当大的范围时才起作用。如果太多​​映射到相同的v1,则相应的地图工作人员将陷入困境。

+0

在步骤1中,您只能反转f1。你怎么能通过反转f2来做到这一点? –

+0

@DanielVelkov:很对。 – rici