Hadoop系列01

    最近一直在看Hadoop的框架,学习原理,完成一个小demo。这个想法已经持续俩月之久,直到今天才算完成,实在拖的太久了。总体学习下来感觉,要比想象中的简单的多,为什么能拖俩月也是与自己的畏惧心理有关系,总是把问题想象的过于复杂,对于未知的恐惧。

    Hadoop总结来说,主要是hdfs+mapRuduce,由于大数据的特点,所有这个框架肯定要有一个能对海量数据进行存储,操作的文件系统,这样很自然hdfs就诞生了。存储是第一步,统计汇总便是第二布,这就产生了mapReduce,专门应对海量数据的计算的。这俩个就构成了hadoop的主体,对于海量的数据存储与计算,在设计时就必须是分布式的,这样才能满足不断扩大的需求,以及完成单台计算机所不能完成的任务。古人的智慧,“当一头牛拉不动一根很大的木头时,不是培养更强大的牛,而是用更多的牛”。我想这也就是目前分布式的存在意义吧。

    在说技术,hdfs虽然是一个分布式的文件存储系统,但对于开发者来说它与其他的文件系统也并没什么太大的差异,无非就是操作一些API,实现CURD,所以此处不再啰嗦。mapRedeuce则是分为map阶段与reduce阶段。假设一下,如果你拿到一个文件,要对他的内容进行分析,你会怎么做?首先应该是通读这个文件吧,找出你觉得有意义的部分,或者按照你感兴趣的方式来划分文件。mapReduce框架也是这么做的,而且更粗暴!

    map阶段:从hdfs拿到一个文件,把他的内容切碎。(比如按照单词来切分)

    reduce阶段:把你感兴趣的单词(比如,apple,banana)挑出来,在写到hdfs。

    是不是太简单了,思路其实真的很简单,但实现细节还是很复杂的,以及要实现其他功能还有很多API。抓住脉络,在学习起来就是轻松的多了

    

猜你喜欢

转载自blog.csdn.net/qq_34626493/article/details/79837309