Hadoop学习

来源:互联网 发布:js 延时执行 编辑:程序博客网 时间:2024/06/10 05:35

Hadoop是什么?在研究所里已经遇到不少的人问我,突然想起不久前看到一则小故事讲的是国外的一个技术人员向他老婆解释MapReduce的原理,而他老婆不是从事软件或编程领域的工作。

故事:假设你想用薄荷、洋葱、番茄、辣椒、大蒜弄一瓶混合辣椒酱。你会怎么做呢?首先你会取薄荷叶一撮,洋葱一个,番茄一个,辣椒一根,大蒜一根,然后切碎后加入适量的盐和水,再放入混合研磨机里研磨,这样就可以得到一瓶混合辣椒酱了。让我们把MapReduce的概念应用到食谱上。MapReduce其实是两种操作。Map(映射): 把洋葱、番茄、辣椒和大蒜切碎,是各自作用在这些物体上的一个Map操作。所以你给Map一个洋葱,Map就会把洋葱切碎。 同样的,你把辣椒,大蒜和番茄一一地拿给Map,你也会得到各种碎块。同样的,你把辣椒,大蒜和番茄一一地拿给Map,你也会得到各种碎块。 所以,当你在切像洋葱这样的蔬菜时,你执行就是一个Map操作。 Map操作适用于每一种蔬菜,它会相应地生产出一种或多种碎块,在我们的例子中生产的是蔬菜块。在Map操作中可能会出现有个洋葱坏掉了的情况,你只要把坏洋葱丢了就行了。所以,如果出现坏洋葱了,Map操作就会过滤掉坏洋葱而不会生产出任何的坏洋葱块。Reduce(化简):在这一阶段,你将各种蔬菜碎都放入研磨机里进行研磨,你就可以得到一瓶辣椒酱了。这意味要制成一瓶辣椒酱,你得研磨所有的原料。因此,研磨机通常将map操作的蔬菜碎聚集在了一起。这只是简单的一个mapreduce的一部分。详细请参照(http://server.zol.com.cn/329/3295529.html)

于是想hadoop到底是什么?是否也可以用最简单的故事来告诉他们什么是hadoop?想想以前师兄们给我们作过的有关hadoop的讲座,讲的也只是大致的框架,理了理思路发现要想说明白hadoop是什么,还是有点难度。
而且这些天也在找实习,暂时想法是投个数据研发岗,刚好把hadoop的知识整理下,一方面是给所里的同学解答什么是hadoop,另一方面加强自己对hadoop的理解,以备需要。

Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是apache的一个开源软件框架,实现在很多计算机组成的集群中对海量数据的处理和计算(http://hadoop.apache.org/)。
Hadoop核心包含三个部分:
1.HDFS(海量数据的存储)
2.MapReduce(数据的分析和计算模型)
3.Yarn(资源管理调度)
接下来将会分别写三篇博客,从这三个部分来讲解什么是hadoop。

1 0