机器学习和生物信息学实验室联盟
标题:
Hadoop编程实战步步进阶
[打印本页]
作者:
tangzk
时间:
2014-1-12 15:15
标题:
Hadoop编程实战步步进阶
本帖最后由 tangzk 于 2014-1-12 15:20 编辑
本篇主要是针对Hadoop MapReduce编程的学习整理,涉及针对MapReduce编程常用的编程思路及经典范例,另外也有Hadoop平台相关的内容,但暂时不涉及对Hadoop的底层运行细节的深入。
一、Hadoop编程基础
1. MapReduce工作原理 ★
2. Hadoop Job运行基本流程 ★
3. Hadoop开发环境搭建 ★
4. 程序范例(1)-WordCount ★
• 统计文档中单词的出现次数
5. 自定义Hadoop数据类型 ★
• 自定义复合Key/Value类型,
6. 程序范例(2)-Sum, Average,Min/Max ★
• 基本统计量,使用单个Job完成
二、Hadoop编程进阶
1. 程序范例(3)-文本模型TF/IDF ★★
• 针对文档集,生成其对应的TF/IDF模型
2. 自定义Partitioner、GroupComparator
• 自定义Partitioner,完成输出定制、负载均衡等任务
• 自定义GroupComparator,完成输出分组任务
3. 程序范例(4)-二次排序 ★★
• 按多个关键字排序
4. 程序范例(5)-关联Join操作 ★★★
• 针对两个输入表,在给定key上完成Join操作
5. 程序范例(6)-并行BFS(Breadth First Search) ★★★★
• 基于图上的并行宽度优先搜索策略
6. 程序范例(7)-单源点最短路径 ★★★★
• 基于图上的单源点最短路径算法
7. 程序范例(8)-PageRank ★★★
• 基于图的PageRank算法
8. 程序范例(9)-KMeans ★★★★
• KMeans算法
9. Hadoop程序优化 ★★★
• 增加本地Combiner
• 使用RawComparator
• 使用DistributedCache
• 压缩输出
10. Hadoop程序调试 ★★
• 使用Counter查看输出结果
• 使用日志跟踪调试
• 开发单元测试
三、Hadoop编程高级内容
1. 自定义输入输出格式 ★★★★
• 自定义InputFormat
• NLineInputFormat
• XmlInputFormat
2. Hadoop性能优化 ★★★★★
• ?
3. Hadoop源码分析 ★★★★★
• ?
参考
1. J. Dean and S. Ghemawat, “MapReduce: Simplified data processing on large clusters,” Commun. ACM, vol. 51, no. 1, pp. 107–113, 2008.
2. T. White, Hadoop权威指南(第二版). Yahoo Press, 2010.
3. Chuck Lam(著), 韩冀中(译), Hadoop实战. 人民邮电出版社, 2011.
4. J. Lin and C. Dyer, Data-intensive text processing with MapReduce, vol. 3, no. 1. Morgan & Claypool Publishers, 2010, pp. 1–177.
5. Ilya Katsov(著), nosqlfan(译), MapReduce的模式、算法和用例.
http://blog.nosqlfan.com/html/4179.html
, 2013.
6. Amund Tveit, Mapreduce & Hadoop Algorithms in Academic Papers (3rd update).
http://atbrox.com/2010/05/08/map ... rs-may-2010-update/
, 2010.
作者:
tangzk
时间:
2014-1-12 15:24
一点提纲,欢迎大伙补充下。
http://git.oschina.net/tangzk/mralgos
这上面有部分可运行的源码程序,请多更正错误和提出建议,可直接fork & commit。
作者:
chenwq
时间:
2014-1-13 09:55
我停留在浅层概念很久了。
有进阶路线图和算法源代码供学习真是太好了。
打了星号部分后面会展开来指导吗?
作者:
easonlv
时间:
2014-4-10 13:36
支持并学习
作者:
xmubingo
时间:
2014-4-29 22:01
貌似公司里更喜欢用hadoop streaming。。可能大家都不一定用java。用streaming处理日常任务方便,时效。
欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/)
Powered by Discuz! X3.2