第一章:Hadoop简介

简介

Hadoop是java开发的快速处理海量非结构化数据的框架。他的前身是Nutch----一个开源的web搜索引擎。Doug Cutting(hadoop之父)团队将Nutch中负责分布式计算的模块剥离了出来,起名为Hadoop(DC儿子的玩具名称-_-)。
从2006年面世以来,Hadoop发展迅猛,生态圈也日益扩大。从最初仅有的HDFS和MapReduce两个组件,发展成为如今包含60多个子项目的庞大生态。覆盖了从数据存储、执行引擎数据访问框架等各个层面。

为什么我们要使用Hadoop

hadoop有以下几个核心理念

  • 分而治之
  • 并行计算
  • 计算向数据移动
  • 数据本地化读取

我理解下来主要突出了两点:1)并行计算;2)数据本地化
并行计算很好理解:一泳池的水,一根管道放水,放完需要2个小时;加一根同样的管道,放完需要1小时(忽略边际量)。所以理论上同样的数据,并发数越高,处理越快。当然,实际应用的时候没那么简单,随便想想就会有诸如数据切分问题、计算结果同步汇总问题等。Hadoop针对于这问题都给出和合适的解决方案;
数据本地化也是Hadoop的一大亮点:首先要明确一个观点-----在cpu、gps和存储高速发展的今天,真正的性能瓶颈在于IO,包括网络IO和文件IO。一般15000转的机械硬盘读取单个大文件的读取速度在200~400 M/s,网络io就更慢了。在处理以TB、PB为单位的文件时,io就会成为瓶颈。这也是hdfs数据优先本地节点读写的原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章