基于MapReduce的关系代数运算(1)

1、选择运算

Map函数:对R中的每个元组t,检测它是否满足条件C,如果满足,则产生一个键值对(t,t)

Reduce函数:直接将每个键值对传递到输出即可

2、投影运算

Map函数:对R中的每个元组t,剔除t中属性不在S中的字段得到元组t',输出键值对(t',t')

Reduce函数:对任意Map任务产生的每个键t',将存在一个或多个键值对(t',t'),Reduce函数将(t',[t',t'...t'])转换成(t',t'),以保证键t'只产生一个(t',t')对

3、并运算

Map函数:对R中的每个元组t产生一个键值对(t,t)

Reduce函数:和每个键t关联的可能有一个或两个值,两种情况下都输出(t,t)

4、交运算

Map函数:对R中的每个元组t产生一个键值对(t,t)

Reduce函数:如果键值t的值表为[t,t],则输出(t,t),否则输出(t,null)

5、差运算 R-S

Map函数:对R中的每个元组t产生一个键值对(t,R)对S中的每个元组t产生一个键值对(t,S)

Reduce函数:如果键值t的值表为[R],则输出(t,t),否则输出(t,null)

原文地址:https://www.cnblogs.com/liutoutou/p/3498013.html