与Cloudera认证不同,hortonworks认证考试没有客观、主观题,而是通过实际操作考试,考察动手编写java代码解决问题的能力。所以复习HDPCD考试一方面需要熟悉hadoop基础概念,另一方面需要动手编写Java代码,熟悉partitioner、custom sort、bloom filter等各类常用模块的代码实现。
对于hadoop基础概念,推荐参考书单如下。排名有先后。建议把4星以上的书读3编以上。
-Hortonworks的HDPCP:官方培训教材,基础的基础,也是考试试题的出处。建议熟悉Lab Booklet各实验的代码,做到不看书自己能够编写的程度。同时书中部分实验代码有错误(如Custom InputFormat、SequenceFileInputFormat等),需要留意。推荐指数:5星。
-Apache官方Mapreduce帮助文档(http://hadoop.apache.org/docs/r2.7.2/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html):Apache的Mapreduce帮助文档,对Mapreduce各类基础概念都进行入门级讲解。虽然内容不深入,但覆盖面很广。建议精读,尤其是User Interface部分需要多读几遍。推荐指数:5星。
-Nico's Blog(http://blog.ditullio.fr):某法国佬的博客。虽然博客热度不高,但是内容质量很不错。重点推荐Hadoop Basics系列的II至VII,难度略高于HDPCD考试。按照文章内容自己完成代码,基本上考试要点都掌握了。我也进行了翻译,详见博文“hadoop学习”系列。推荐指数:4星半。
-《Hadoop,The Definitive Guide》(网上有PDF下载,但是建议买纸质版阅读):书名中文《Hadoop权威指南》,基本上是学习Hadoop的人必备参考书。全书没有废话,短短几页内容就把知识点来龙去脉讲得清清楚楚。但全书内容较深,建议第1次学习时候,可以选择感兴趣的章节阅读。推荐指数:4星。
-《Data Intensive Text Processing with Mapreduce》(https://lintool.github.io/MapReduceAlgorithms/):国外质量比较好的hadoop进阶教材,利用mapreduce实现倒排、图算法、EM算法等。对于准备考试而言,重点参考多表Join、倒排算法即可。书中只有算法,具体代码建议自己实现。推荐指数:3星半。
-Yahoo Hadoop教程(https://developer.yahoo.com/hadoop/tutorial/):作为较早使用Hadoop的商业公司,Yahoo在教材编写上也很见功力,通过大量插图使概念通俗易懂。但是只有hadoop1.0内容,没有更新到2.0(如yarn等)。阅读时候需要留意。推荐指数:3星。
-Mapreduce Desin Patterns(http://www.nataraz.in/data/ebook/hadoop/mapreduce_design_patterns.pdf):mapreduce设计模式。书名很霸气,而且是O'REILLY动物书系列,但是内容上只是常用算法总结,如SUMMARY等等,案例乏善可陈,建议泛读启发思路。
由于需要动手编写Java代码,建议搭建Hadoop本地伪分布式系统进行操作。需要注意,操作Hadoop需使用Linux操作系统,并升级内存至8GB以上,才能顺利完成实验。
如果不想更换操作系统,也可以下载Hortonworks虚拟机使用。
编写Java代码,需要重点留意程序错误,熟悉常见错误,并熟悉通过counter、log4j等进行帮忙调试。