MapReduce分布编程模型之映射函数与化简函数简介

导读:在程序语言中,映射函数与化简函数是常用的函数。映射函数与化简函数是MapReduce分布编程模型的两个主要函数。简单的说,一个映射函数就是对一些独立元素组成的概念上的列表{例如,一个测验成绩的列表}的每个元素所指定的操作。 事实上,每个元素都是被独立操作的,而原始列表没有被更改,因为这里创建了一个新的列表来保存新的答案。 这就可以看出,Map操作可以高度并行,非常适用分布并行计算领域。 而化简操作指的是对一个列表的元素进行适当的合并,虽然不如映射函数那么高度并行,但是因为化简总是有一个简单的答案,大规模的运算相对独立,所以化简函数也适用于高度并行环境。.
映射与映射函数

1,映射

      设A、B是两个非空集合,如果存在一个法则f,使得对A中的每个元素a,按法则f,在B中有唯一确定的元素b与之对应,则称f为从A到B的映射,记作f:A-B.其中,b称为元素a在映射f下的象,记作b=f(a), a称为b关于映射f的原象。集合A中所有元素的象的集合成为映射f的值域,记作f(A).,映射还可以用于定义函数。函数是从非空数集到非空数集的映射,而且只能是一对一 映射或多对一映射。

按照映射的定义,下面的对应是映射。

设:A=[1,2.3.4), B=[3.5.7,9], 集合A中的元素X按照对应关系“乘2加1” 和集合B中的元素对应,这个对应是集合A到集合B的映射。

映射在不同的领城有很多的名称,例如函数、算子等。

2.映射函数

       映射函数的功能描述如下图 所示。左排表示原始输入列表,即输入的是形状图形:,右排表示输出列表,即由两个处理单元完成各种图形的数量统计:中间箭头表示映射函数,即Map函数就是一个图形统计函数。

      得到的结构如下::上面的处理单元1的统计结果是圆形1个、菱形1个、正方形3个、四柱形2个、六角形1个。

     下面的处理单元2的统计结果是圆形1个、菱形2个、正方形1个、三角形2个、圆柱形1个、平行四边形1个。

     事实上,每个图形被独立操作,但原始列表没有被更改,而且创建了一个新的列表来保存新的答案。这表明,映射操作可以高度并行,非常适用于高性能要求的应用以及分布、并行计算领域的问题需求。



化简与化简函数

1.化简

        化简在数学上是一个非常重要的概念。化简一般指把复杂式子化为简单式子的过程。在数学运算中,必须通过化简才能简便地求出值。分式化简称为约分。

整式化简包括移项、合并同类项、去括号等,化简后的式子一般为更简式,项数减少。

例如,解方程也可以看做是一个化简的过程。

2,化简函数

       化简操作能够完成对一个列表的元素进行适当的合并。例如,如果将Map函数的输出作为Reducc函数的输入,可以使用一个处理单元完成化简工作, 那么 Reduce函数的输出结果为下图所示。

      其中正方形4个、圆形2个、圆柱形3个、菱形3个、六角形1个、平行四边形1个,三角形2个。

     这是对输入的16个图形的最后统计结果,先进行映射函数作用,后进行化简函数作用。化简总是有一个简单的答案,化简操作是大规模的相对独立运算,所以化简函数也适合于高度并行环境中使用。


 

     今天就分享到这里,希望大家多多关注,工作在忙,也要注意身体,按时吃饭哦。大家有兴趣学习大数据的可以加入我们的QQ群和大家一起学习讨论,还有很多大数据资料分享给大家哦,725197860,加群备注咕泡学院哦!欢迎你的到来。

转载于:https://my.oschina.net/u/3798384/blog/1832433

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值