2013年被称为“大数据元年”,标志着世界正式进入了大数据时代,而就在这一年,我加入了清华大学苏州汽车研究院大数据处理中心,从事Hadoop的开发、运维和数据挖掘等方面的工作。从出现之日起,Hadoop就深刻地改变了人们处理数据的方式。作为一款开源软件,Hadoop能让所有人享受到大数据红利,让所有人在大数据时代站在了同一起跑线上。Hadoop很好地诠释了什么是“大道至简,衍化至繁”,Hadoop来源于非常朴素的思想,但是却衍生出大量的组件,让初学者难以上手。
我在学习和工作的过程中,走过很多弯路也做过很多无用功,尽管这是学习新技术的必由之路,但却浪费了大量的时间。我将自己学习和工作的心得记录下来,为了帮助更多像我当年一样的Hadoop学习者,我决定写一本书,一本自己开始Hadoop职业生涯的时候也想读到的书。
本书结构针对学习曲线进行了优化,本书由浅至深,从理论基础到项目实战。
本书最大的特点是面向实践。基础篇介绍了Hadoop及相关组件,包含了大量动手实例,而应用篇则包含了一个具有代表性的基于Hadoop的项目完整实例,该实例脱胎于生产环境的真实项目,在通过基础篇的学习后,读者将在应用篇得到巩固和升华,并对Hadoop有一个更加清晰和完整的认识,这也符合实践出真知的规律。
本书介绍了Hadoop主要组件,如HDFS、YARN、MapReduce、Hive、Sqoop、HBase等,还介绍了Hadoop生产环境下的调优和运维、机器学习算法等高级主题。
全书内容由浅入深,既适合初学者入门,也适合有一定基础的技术人员进一步提高技术水平,本书特别适合循序渐进地学习。本书的读者对象包括:
本书第1版于2014年下半年完稿,次年年初出版,当时Hadoop正值急速发展的时期,很多组件都没有实现自己的最终形态。到目前为止,Hadoop离我完成本书第1版之时已有较大变化并已基本稳定。
很多读者在阅读过程中给我来信,说书中使用的Hadoop版本较老(CDH3),而且没有YARN和HBase的内容。收到读者的反馈,加之HBase 1.0版已经发布,CDH5已经基本普及,我就开始本书第2版的写作工作,于是呈现在读者面前的就是全新的《Hadoop海量数据处理》。第2版主要做了以下修改和内容增补:
本书在章节的安排上旨在引导读者以最快的速度上手Hadoop,而省去其他不必要的学习过程。如果你是一个有经验的Hadoop工程师或者是项目经理,也可以直接进入应用篇,关注项目的设计和实现;如果不是,还是建议你循序渐进地阅读本书方能获得最好的学习效果。
本书一共分为基础篇、应用篇和结束篇3个部分,一共18章。
基础篇从第1章至第9章,其中第1章为绪论,第2章为环境准备,第3章至第8章主要介绍HDFS、YARN、MapReduce、Hive、Sqoop、HBase的原理和使用,在此之上,第9章介绍Hadoop的性能调优和运维。读者将从基础篇获得Hadoop工程师的理论基础。
应用篇从第9章至19章,主要内容为一个基于Hadoop的在线图书销售商业智能系统的设计和实现,包含了系统需求说明、总体设计和完整的实现。应用篇会运用基础篇的知识,巩固并升华基础篇的学习效果。此外,应用篇的项目架构可以进行一些改动并推而广之,有一定的参考价值。读者将从应用篇获得Hadoop工程师的项目经验。
结束篇为第20章,将对全书进行总结,并对技术发展做了展望。
写书就像是跳水,高高跳起跃入水中,但在浮出水面之前,运动员却无法知道评委的给分,而我期待读者的评价。由于作者水平有限,编写时间仓促,书中难免会出现一些错误,恳请读者批评指正。读者可以将对本书的反馈和疑问发到ddna_1022@163.com,我将尽力为读者提供满意的回复。
感谢电子科技大学的赵勇教授、北京航空航天大学的孙伟教授和邵兵副教授,从您们身上我学到了严谨的学术精神和做人的道理。
感谢清华大学苏州汽车研究院大数据处理中心的林辉主任,您的锐意进取精神一直深留我心。
感谢周俊琨、肖宇、赵虎、李为、黄普、朱游强、熊荣、江彦平,没有你们的帮助和努力,本书不可能完成。
感谢我的父母和外婆这些年来在生活上对我无微不至的关怀和无时无刻的支持,你们辛苦了;感谢吴静宜和她的家人对我的支持;感谢范若云哥哥,是你改变了我。
感谢人民邮电出版社的杨海玲编辑在本书出版过程中给予我的指导和一如既往的信任,感谢庞燕博士为审阅本书第1版付出的辛勤劳动。
感谢所有在我求学路上帮助过我的人。
范东来
2016年6月于成都