登录
首页精彩阅读Hadoop技术全解析 深度挖掘大数据背后的秘密
Hadoop技术全解析 深度挖掘大数据背后的秘密
2016-04-10
收藏

Hadoop技术全解析 深度挖掘大数据背后的秘密

大数据最近火热程度上升,而与之相关联的概念Hadoop也在被网友讨论?Hadoop到底是什么,它的技术基础是什么,主要用来干什么了呢?下面我们将详细探讨。


    在了解以上问题之前,我们先了解三个最基本的知识点,这样子,你更能深入地了解大数据的内涵。


    1.大数据是什么?


    2.Hadoop是什么?


    3.大数据与Hadoop之间是什么关系?


    大数据概念:史上最全大数据解析


    hadoop是什么:分布式系统基础架构


    大数据与Hadoo之间是什么关系?


    如果你能基本了解上面三篇文章的内容,说明你已经对大数据和Hadoop有了一定的认识,有能力进入下一阶段的学习。下面我们将分享一篇有关大数据和Hadoop的相关文章,很有意思哦!


    Hadoop那点儿事:为何很多公司的大数据业务基于Hadoop方案?


    在看完上面的文章后,相信你已经成为半个Hadoop专家,那么我们一起来更深入地了解相关知识吧!

<a href='/map/hadoop/' style='color:#000;font-size:inherit;'>Hadoop</a>技术全解析 深度挖掘大数据背后的秘密

    分布式计算(Distributed Computing)


    对于如何处理大数据,计算机科学界有两大方向:第一个方向是集中式计算,就是通过不断增加处理器的数量来增强单个计算机的计算能力,从而提高处理数据的速度。第二个方向是分布式计算,就是把一组计算机通过网络相互连接组成分散系统,然后将需要处理的大量数据分散成多个部分,交由分散系统内的计算机组同时计算,最后将这些计算结果合并得到最终的结果。尽管分散系统内的单个计算机的计算能力不强,但是由于每个计算机只计算一部分数据,而且是多台计算机同时计算,所以就分散系统而言,处理数据的速度会远高于单个计算机。


    过去,分布式计算理论比较复杂,技术实现比较困难,因此在处理大数据方面,集中式计算一直是主流解决方案。IBM的大型机就是集中式计算的典型硬件,很多银行和政府机构都用它处理大数据。不过,对于当时的互联网公司来说,IBM的大型机的价格过于昂贵。因此,互联网公司的把研究方向放在了可以使用在廉价计算机上的分布式计算上。


    服务器集群(Server Cluster)


    服务器集群是一种提升服务器整体计算能力的解决方案。它是由互相连接在一起的服务器群所组成的一个并行式或分布式系统。服务器集群中的服务器运行同一个计算任务。因此,从外部看,这群服务器表现为一台虚拟的服务器,对外提供统一的服务。


    尽管单台服务器的运算能力有限,但是将成百上千的服务器组成服务器集群后,整个系统就具备了强大的运算能力,可以支持大数据分析的运算负荷。Google,Amazon,阿里巴巴的计算中心里的服务器集群都达到了5000台服务器的规模。


    大数据的技术基础:MapReduce、Google File System和BigTable


    2003年到2004年间,Google发表了MapReduce、GFS(Google File System)和BigTable三篇技术论文,提出了一套全新的分布式计算理论。


    MapReduce是分布式计算框架,GFS(Google File System)是分布式文件系统,BigTable是基于Google File System的数据存储系统,这三大组件组成了Google的分布式计算模型。


    Google的分布式计算模型相比于传统的分布式计算模型有三大优势:首先,它简化了传统的分布式计算理论,降低了技术实现的难度,可以进行实际的应用。其次,它可以应用在廉价的计算设备上,只需增加计算设备的数量就可以提升整体的计算能力,应用成本十分低廉。最后,它被Google应用在Google的计算中心,取得了很好的效果,有了实际应用的证明。


    后来,各家互联网公司开始利用Google的分布式计算模型搭建自己的分布式计算系统,Google的这三篇论文也就成为了大数据时代的技术核心。


    当时谷歌采用分布式计算理论也是为了利用廉价的资源,发挥出更大的效用,他的成功使人们开始效仿,因此而产生了Hadoop


    Hadoop体系和Google体系各方面的对应关系。Hadoop MapReduce相当于MapReduce,HDFS相当于GFS,HBase相当于BigTable


    Hadoop体系:       Hadoop MapReduce           HDFS          HBase


    Google体系:           MapReduce                   GFS           BigTable


    有不少网友对Hadoop,Spark和Storm的概念比较模糊,他们之间的联系也不是很清楚,那么请你在了解了下面的内容后,逐一为他们解答吧!


    主流的三大分布式计算系统:Hadoop,Spark和Storm


    由于Google没有开源Google分布式计算模型的技术实现,所以其他互联网公司只能根据Google三篇技术论文中的相关原理,搭建自己的分布式计算系统。


    Yahoo的工程师Doug Cutting和Mike Cafarella在2005年合作开发了分布式计算系统Hadoop。后来,Hadoop被贡献给了Apache基金会,成为了Apache基金会的开源项目。Doug Cutting也成为Apache基金会的主席,主持Hadoop的开发工作。


    Hadoop采用MapReduce分布式计算框架,并根据GFS开发了HDFS分布式文件系统,根据BigTable开发了HBase数据存储系统。尽管和Google内部使用的分布式计算系统原理相同,但是Hadoop在运算速度上依然达不到Google论文中的标准。


    不过,Hadoop的开源特性使其成为分布式计算系统的事实上的国际标准。Yahoo,Facebook,Amazon以及国内的百度,阿里巴巴等众多互联网公司都以Hadoop为基础搭建自己的分布式计算系统。


    Spark也是Apache基金会的开源项目,它由加州大学伯克利分校的实验室开发,是另外一种重要的分布式计算系统。它在Hadoop的基础上进行了一些架构上的改良。Spark与Hadoop最大的不同点在于,Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此Spark可以提供超过Hadoop100倍的运算速度。但是,由于内存断电后会丢失数据,Spark不能用于处理需要长期保存的数据。


    Storm是Twitter主推的分布式计算系统,它由BackType团队开发,是Apache基金会的孵化项目。它在Hadoop的基础上提供了实时运算的特性,可以实时的处理大数据流。不同于Hadoop和Spark,Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且实时的处理数据,然后直接通过网络实时的传回结果。


    Hadoop,Spark和Storm是目前最重要的三大分布式计算系统,Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于在线的实时的大数据处理。


    在了解完上面的内容后,你如果觉得意犹未尽,还想再深入挖掘,那么向你推荐两篇比较不错的文章。第一篇是对描写大数据在实际生活中应用,看完之后,你会发现,大数据其实就在身边;第二篇是大数据的相关概念:云计算,看完之后,你很可能就成为大数据专家了!


数据分析咨询请扫描二维码

客服在线
立即咨询