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

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

化简与化简函数

1.化简

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

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

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

2,化简函数

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

果为下图所示。其中正方形4个、圆形2个、圆柱形3个、菱形3个、六角形1个、平行四边形1个,三角形2个。这是对输入的16个图形的最后统计结果,先进行映射函数作用,后进行化简函数作用。化简总是有一个简单的答案,化简操作是大规模的相对独立运算,所以化简函数也适合于高度并行环境中使用。

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

j今天就分享到这里,希望大家多多关注,工作在忙,也要注意身体,按时吃饭哦。


分享到:


相關文章: