1 Hadoop概述
随着信息化时代的来临,数据信息呈爆炸式增长。IBM的研究称,90%的人类文明数据是近两年产生的,而到了2020年,全球产生的数据量将是今天的44倍。传统的方法已难以应对越来越多的海量数据,因此海量数据的处理方法成为研究热点。大数据技术研究与应用推动互联网产业的快速发展,同时企业也促进了大数据技术的“新陈代谢”。
在国外的计算机行业,Yahoo,Linkedin,Fackbook,eBay等企业都着手搭建Hadoop平台,努力推动Hadoop技术的发展并完善Hadoop项目。在国内,随着中国科学技术的发展创新,如阿里巴巴和京东等国内电商平台、微博和微信等社交网络平台及其他数据信息行业积极搭建Hadoop大数据分布式计算平台,并对数据进行采集、处理和分析。
Hadoop使用的开发语言是Java,由文本搜索系统库(Lucene)的创始人道格·卡丁(Doug Cutting)创建。Hadoop是由Apache软件基金会支持的基础架构系统,而且还是对Google的文件系统 (Google File System,GFS),MapReduce和Bigtable等核心技术开源实现的分布式计算平台。Hadoop框架的设计核心是MapReduce和分布式文件系统(Hadoop Distribute File System,HDFS)。
如图1-1所示,HDFS和MapReduce分别为海量数据提供了数据存储和并行计算。HDFS是对GFS的开源实现,其冗余存储的方式使得安全性得到保证。并通过廉价计算机搭建服务器集群获得海量数据的分布式存储能力,这样不仅降低了开发成本,还具备了高吞吐率的读写、高容错性和高扩展性。
MapReduce是针对Google MapReduce的开源实现,是一种海量