HDPCD:Java认证考试经验总结

因公司使用Hortonworks的Hadoop产品,最近我参加了HDPCP:Java(Hortonworks Certified Java Developer)资格认证考试。自去年11月参加HDP培训开始,至7月16日晚参加在线认证考试,共经历了半年多时间。在这段时间里,搭建本地伪分布式Hadoop环境,每天看书复习,学习网上资料,写code练手,从零开始学习直至参加考试获得认证,过程艰苦并快乐。这里记录下来,供后续参加认证的同学参考借鉴。

1、HDPCD:Java复习过程
与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的人必备参考书。全书没有废话,短短几页内容就把知识点来龙去脉讲得清清楚楚。但全书内容较深,建议第一次学习时候,可以选择感兴趣的章节阅读。推荐指数: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等等,案例乏善可陈,建议泛读启发思路。推荐指数:3星。

由于需要动手编写Java代码,建议搭建Hadoop本地伪分布式系统进行操作。具体方法详见我的博文(http://blog.csdn.net/xuefei2/article/details/51224834)。需要注意,操作Hadoop需使用Linux操作系统,并升级内存至8GB以上,才能顺利完成实验。
如果不想更换操作系统,也可以下载Hortonworks虚拟机使用。具体详见http://zh.hortonworks.com/downloads/#sandbox,我没有下载使用。当然Cloudera也有虚拟机可下载使用,但是缺少Ambari等Hortonworks自有模块。
当然,也可以在亚马逊的云平台(aws.amazon.com/cn),远程在线操作,完成代码编写和运算执行,但是需要申请并用信用卡付费。考试前我用了两个月,大概花费了50刀,心痛。。

编写Java代码,需要重点留意程序错误,熟悉常见错误,并熟悉通过counter、log4j等进行帮忙调试。我使用的Hadoop开发相关问题,详见我的博文(http://blog.csdn.net/xuefei2/article/details/51671903)。

2、HDPCD:Java考试准备
1)环境准备:安装一个摄像头,下载插件,检查环境是否合规(操作系统分辨率、网速、OS 环境),电脑进程都要求必须被关闭,浏览器所有插件不能被加载。Google浏览器要求隐身模式。
测试方法:https://www.examslocal.com/ScheduleExam/Home/CompatibilityCheck 其中,最重要的一项是网速!我使用移动CMCC-WEB完成顺利完成考试。
2)考试尽量使用台式机,最好18-19寸,分辨率1600*900。网页窗口远程操作,比较小的话会有拉伸的问题。格外注意DNS配置为:8.8.8.8,否则可能无法登录考试环境。
3)假如使用 Chrome 浏览器,要求使用最新版本的版本:50.0.2661.102 m,需要把下面的插件在隐身模式下开启(菜单-窗口-扩展程序-Innovative Exams Screensharing-在隐身模式下启用),并且打开认证网站的时候要求是隐身模式。
4)在考试期间确认所有的防火墙与防毒软件已关闭。
5)考试流程:
- 提前 15 分钟登录,可以看到 launch exam,点进去
- 按照提示要求,share camera,share desktop,此时考官会给你文字chat窗口
- 按照考官要求,用 camera 扫描整个房间(必须要安静,周围不能有人)和桌面(桌面不能放置任何东西),考官会提示 ok
- 按照考官要求,show your passport,考官也会提示 ok
- 关闭第一个 exam 界面(登录页面),保留第二个 share 的界面,等待考官 push 虚拟机页面(考官也会有 chat 提示)
- 考试时间2小时
6)考试快结束的时候,考官会提示时间快结束了。假如网速中断了,刷新登陆继续考。

3、其他需注意问题
1)考试需要对程序结果进行验算。由于考试环境为Linux,没有Excel及类似工具,建议熟悉shell命令,如grep/awk/sort/tr/nl等使用。awk常用代码如下:
求和
{total+=$1} END {print total}

求平均值
{total+=$1} END {print total/NR}

求特定列的平均值
{if($18==“ABQ” && $22==0) {total+=$15;count++}} END{print total/count}

分组汇总
{a[$1]+=$2} END{for(i in a} print(i,a[i])}

同时,在代码中使用log4j进行中间结果校验,也很有帮助。这里不再赘述。

2)通过远程桌面考试,受到网速影响可能键盘、鼠标响应很慢,影响考试发挥。建议提前登录亚马逊云平台(aws.amazon.com/cn),操作习惯和使用环境与考试时候差不多。小TIPS:
- 考试环境中Eclipse编辑界面字体太小,可以先调整到14号字体再编辑。
- 不要过于依赖Eclipse的快捷键。在考试环境中,部分快捷健无法使用,需要熟悉鼠标右键操作。

3)提前关注Hortonworks的博客。考试试题使用的数据集,大多在他们的博客中可以找到。比如这次考试使用的flightdelays,在博文(http://zh.hortonworks.com/blog/data-science-apacheh-hadoop-predicting-airline-delays/)中就有。 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值