1.3 Hadoop族群
Hadoop之所以在本书中称为神象并不仅仅因为它自身很强大,更重要的是以它为代表的整个Hadoop族群都不可小觑!下面简单介绍一下Hadoop的家族成员。
1.Hadoop子项目
Hadoop Common:就是原来的Hadoop Core,是整个Hadoop项目的核心部分,为Hadoop各子项目提供各种工具,比如配置文件和日志操作等。其他的Hadoop子项目都是在Hadoop Common的基础上发展的。
HDFS:向应用程序提供高吞吐量访问的分布式文件系统,是GFS的开源实现(详见第2章介绍)。
MapReduce:大型数据的分布式并行编程模型和程序执行框架,Google的MapReduce的开源实现(详见第3章介绍)。
2.Hadoop相关项目
Avro:Doug Cutting主持的RPC项目,有点类似于Google的protobuf和Facebook的thrift。它作为Hadoop的RPC(远程过程调用模块),使Hadoop的RPC模块通信速度更快,数据结构更紧凑。
Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身(详见第8章介绍)。
Chukwa:一个基于Hadoop用来管理大型分布式系统的数据采集系统(详见第9章介绍)。
Hama:为科学计算提供的一个基于整体同步并行计算技术的分布式计算框架。
HBase:是Apache Hadoop项目的一个重要部分,是一个开源的、基于列存储模型的分布式数据库(详见第4章介绍)。
Hive:提供数据摘要和查询功能的数据仓库(详见第6章介绍)。
Pig:是在MapReduce上构建的一种高级的数据流语言,是Sawzall的开源实现。Sawzall是一种建立在MapReduce基础上的领域语言,它的程序控制结构(如if、while等)与C语言无异,但它的领域语言语义使它完成相同功能的代码比MapReduce的C++代码简洁得多(详见第7章介绍)。
ZooKeeper:用于解决分布式系统中一致性问题,是Chubby的开源实现(详见第10章介绍)。