大数据时代对于数据分析?管理都提出了不同程度的新要求,许多传统的数据分析技术和数据库技术已经不足以满足现代数据应用的需求。为了给大数据处理分析提供一个性能更高?可靠性更好的平台,Doug Cutting模仿GFS,为MapReduce开发了一个云计算开源平台Hadoop,用Java编写,可移植性强。现在Hadoop已经发展为一个包括分布式文件系统HDFS、分布式数据库HBase以及数据分析处理MapReduce等功能模块在内的完整生态系统Ecosystem,现已经发展成为目前最流行的大数据处理平台。Intel公司根据Hadoop的系统构造,给出了一种Hadoop的实现结构。
在这个系统中,以MapReduce算法为计算框架,HDFS是一种类似于GFS的分布式文件系统,可以为大规模的服务器集群提供高速度的文件读写访问。HBase是一种与BigTable类似的分布式并行数据库系统,可以提供海量数据的存储和读写,而且兼容各种结构化或非结构化的数据。Mahout是Apache旗下的一个开源项目,对海量数据进行挖掘的一种方式,提供数据挖掘、机器学习等领域中经典算法的实现。Hive是一种基于Hadoop的大数据分布式数据仓库引擎,它使用SQL语言对海量数据信息进行统计分析、查询等操作,并且将数据存储在相应的分布式数据库或分布式文件系统中。为了对大规模数据进行分析就要用到相关的数据分析处理语言PigLatin,它借鉴了SQL和MapReduce两者的优点,既可以像SQL语言那样灵活可变,又有过程式语言数据流的特点。Zookeeper是分布式系统的可靠协调系统,可以提供包括配置维护、名字服务、分布式同步、组服务等在内的相关功能,封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Sqoop是一个用来将Hadoop和关系型数据库中的数据双向转移的工具,可以将一个关系型数据库(MySQL,Oracle,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中,还可以在传输过程中实现数据转换等功能。Flume是一种分布式日志采集系统,特点是高可靠性、高可用性,它的作用是从不同的数据源系统中采集、集成、运送大量的日志数据到一个集中式数据存储器中。
HDFS
在Google之前,没有哪一个公司曾需要处理数量如此多、种类如此繁杂的数据,