MapReduce入门学习心得

来源:互联网 发布:怎么在淘宝上做充值 编辑:程序博客网 时间:2024/05/17 08:00

MapReduce的入门课程心得:

在没有学习MapReduce之前对于MapReduce的概念还是非常模糊的,大致的理解是一种分布式的计算的一种方法。并没有一个生动的例子去理解和想象。在网上找视频的时候找到一个超人学院的吴超老师的公开课视频。讲的还是很生动的,对一个零基础的我来说还是很有帮助的。内容大致是讲单机计算海量数据与机群计算海量数据的理念的一个对比。课件中举例说道从对很多文件,大约1000MB,统计文件中单词出现个数。大致的思路是,先将文件读取到内存中。再根据分隔符统计每一行单词出现的次数记一个中间结果,然后在将中间结果汇总并且写入到外部存储设备上。然后延伸到100PB的文件,也要统计单词的出现。那要如果再用单机处理,会遇到的问题就有

1.磁盘的读写速度成为瓶颈。光数据加载就会耗去大量时间。

2.产生的中间结果也必须放到外部存储设备上,磁盘读写的速度又一次耗时。

3.对中间结果的汇总需要将外部存储的中间结果再一次读入内存。

所以将文件分散到大量机群中进行并行处理,能够大大减少硬盘读写问题造成的影响。那么MapReduce的一个思路是就是

1. 将海量数据分散存储

2. 每台机器对自己存储数据进行加工和计算

3. 在选定额外的机器作为数据汇总点汇总结果。

所以MapReduce可以分为Map和Reduce两个部分。Map即为分散读取数据进行处理,Reduce可以理解为汇总结果,将结果输出。

0 0