Python 中的 Map&Reduce

Python 中的 Map&Reduce

面对越来越多要处理的数据,我们需要有好的并行算法来帮助我们简化处理流程。并行算法就是一些可同时执行的诸进程的集合,这些进程互相作用和协调动作从而达到给定问题的求解。在这之中分布式算法正在越来越流行。分布式算法,就是指在完成乘加功能时通过将各输入数据每一对应位产生的运算结果预先进行相加形成相应的部分积,然后再对各部分进行累加形成最终结果。

MapReduce就是一种分布式算法的原理,也可以说是一种编程模型。提起map和reduce想必大家并不陌生,map()就是映射函数,而reduce代表的是归并函数。
2003年,MapReduce的诞生标志了超大规模数据处理的第一次革命,而开创这段青铜时代的就是论文《MapReduce: Simplified Data Processing on Large Clusters》,解决了海量数据处理扩展性差的问题。
Google公司2003年提出了一个名为MapReduce的编程模型,用于处理大规模海量数据,并在之后广泛的应用于Google的各项应用中,2006年Apache的Hadoop项目正式将MapReduce纳入到项目中。
如果已经了解过诸如SQL数据库的同学一定觉得数据库对于一些查询之类的操作十分便捷,然而在数据表的行数超过十亿之后处理起来就会非常吃力。MapReduce就可以应用于大规模数据集(大于1TB)的并行运算。


然而我们今天讲的并不是真正的MapReduce,python中内建了map()reduce()函数。
Python 的 map 和 reduce 是Python的内置函数,而 Hadoop 的 MapReduce 是一个计算框架。 两者之间没有直接的关系。但是他们的部分计算操作思想是类似的,其实可以说,MapReduce就是基于map()函数和reduce()函数的

映射函数map()

映射函数接收一个数组,对其中的每个元素都进行相同的处理。

比如我们看下面的例子:

def f(x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值