本书分为5个主要部分:第一到第三部分主要是关于HADOOP核心,第四部门包括
HADOOP生态系统相关的项目,第五部分包含HADOOP案例学习。你可以按顺序阅读
本书,也可以跳过不需要读的章节看后面的内容。
第一部分由五章组成,包含了HADOOP的基本组件,应该在后面章节之前阅读。第一
章(本章)是概括介绍HADOOP.第二章介绍了MapReduce。第三章是关于HADOOP的
文件系统,尤其深入了HDFS。第四章讨论YARN,HADOOP的集群资源管理系统。第五
章介绍HADOOP的I/O的结构单元:数据完整性,压缩,序列化,和基于文件的数据结构。
第二部门有四个章节,深入介绍MapReduce。它们帮助你了解下面的章节(例如第四
部分的数据处理章节),担是第一次阅读时可以跳过。第六章进入实战,需要开发一个
MapReduce的应用。第七章从用户的角度看HADOOP的MapReduce如何实现。第八章
是关于MapReduce的编程模型以及它可以与哪些类型的数据格式一起工作。第九章是
MapReduce的高级部分,包括数据的排序和连接。
第三部门关注HADOOP的管理员:第10章和第11章描述了如何建立并维护一个在YARN上
运行HDFS和MapReduce的HADOOP集群。
本书的第四部分奉献给那些建立在HADOOP或与它相关的项目。每一章包含一个项目并且与
部分其它章节无关,所以他们可以以任何顺序阅读。这部分的头两个章节是关于数据格式。
第12章是Avro,一个HADOOP的跨语言的序列化库,第13章是Parquet,一个高效的嵌套数据
的柱状存储格式。
后面的两章是关于数据摄入,或者说是如何把你的数据放入HADOOP。第14章是关于Flume,
可以高效摄入流式数据。每15章是关于Sqoop,可以在结构化数据(如关系型数据库)和HDFS
之间高效的传输数据。
接下来的四章的主题是数据处理,并且使用比MapReduce更高层次的抽象。Pig(第16章)是
数据流式语言,可以查询非常巨大的数据集。Hive(第17章)是一个数据仓库,可以管理存储
在HDFS上的数据,并且提供基于SQL的查询语言。Crunch(第18章)是处理管道数据的JAVA API,
可以运行在MapReduce或Spark上。Spark(第19章)是一个集群计算框架用来处理海量数据;它
提供有向非循环图(directed acyclic graph)引擎,以及Scala,Java,Python的API.
第20章介绍HBase,一个分布式的面向列的实时的数据库,使用HDFS作为它的底层存储。第21章
是关于ZooKeeper,一个分布式的,高可用协调服务,提供了创建分布式应用的有用基元。
最后,第五部分是一些使用HADOOP的有趣案例。
HADOOP的补充信息,如如何在你的机器上安装,可以在附录中找到。