南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期 MapReduce海量数据并行处理 鸣谢:本课程得到Google公司(北京) 中国大学合作部精品课程计划资助 南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期
课程内容 Ch.1 并行计算技术简介 Ch.2 MapReduce简介 Ch.3 Google MapReduce的基本构架 简要介绍并行计算技术的概况,基本分类,主要技术问题,MPI并行程序设计,大规模并行数据处理技术 Ch.2 MapReduce简介 简要介绍MapReduce技术的由来,基本构思,编程模型,主要设计思想和技术特征,基本应用 Ch.3 Google MapReduce的基本构架 介绍Google MapReduce并行计算框架的基本结构、工作原理,Google分布式文件系统GFS的基本构架与工作原理,Google结构化数据管理系统BigTable的基本结构与工作原理 Ch.4 Hadoop 的基本构架 介绍开源MapReduce系统Hadoop 的基本结构、工作原理,Hadoop分布式文件系统HDFS的基本构架与工作原理,Hadoop数据管理系统的基本结构与工作原理
课程内容 Ch.5 Hadoop系统安装运行与程序开发 介绍单机和集群Hadoop系统安装方法和步骤,以及程序开发环境与开发过程 实验2:莎士比亚文集词频统计(Word Count)实验 Ch.6 MapReduce算法设计 介绍排序算法、文档倒排索引、文档共现算法、专利文献数据分析应用 实验3:莎士比亚文集倒排序实验 Ch.7 高级MapReduce编程技术 介绍复杂I/O数据表示、、用复合键值对完成特殊处理、程序员定制的I/O格式、Partitioner、Combiner,基于迭代的MapReduce求解方法、数据相关MapReduce任务计算、链式MapReduce计算、多数据源连接、访问关系数据库等高级技术 Ch5. 参见清华Hadoop下的MapReduce编程,P82;马里兰大学教程Section2:Hadoop Nuts& Bolts Ch7. 参见Data-Intensive Text Processing with MapReduce一书第3章
课程内容 Ch.8 复杂问题的MapReduce编程 介绍图算法(如宽度优先搜索),PageRank(Web网页排序) 实验4:Wikipedia网页PageRank实验 Ch.9 聚类算法、Web文档全文检索技术 Ch.10 云计算技术 介绍Google、Amazon、Microsoft、IBM等云计算技术与平台 课程设计(研究生) 1.Netflix电影与用户聚类分析 2.或者自选具有一定难度和工作量的题目,鼓励结合导师的研究工作自选课程设计题目 Ch5. 参见清华Hadoop下的MapReduce编程,P82;马里兰大学教程Section2:Hadoop Nuts& Bolts Ch7. 参见Data-Intensive Text Processing with MapReduce一书第3章
课时安排 2011年春季学期 2月21日-5月31日:课堂讲授,课程实验,期末考试 每周2课时,共计14次课堂讲授(28课时) 6月1日-7月30日: 研究生课程设计 考核方法 课程实验 本科生:实验,占30%;研究生:实验,占25% 期末考试 笔试,本科生:占70%;研究生:50% 课程设计 研究生:自主选题或结合导师研究课题选题,25% Ch5. 参见清华Hadoop下的MapReduce编程,P82;马里兰大学教程Section2:Hadoop Nuts& Bolts Ch7. 参见Data-Intensive Text Processing with MapReduce一书第3章
参考书目与文献 参考书目: 阅读文献: 1.《基于集群的大规模海量数据处理》课程,清华大学,2009 2.《Hadoop in Action》,Chuck Lam,2010 ,Manning Publications 3.《Data-Intensive Text Processing with MapReduce》,Jimmy Lin and Chris Dyer,2010,University of Maryland, College Park 4.《云计算》,刘鹏著,2010,电子工业出版社 5.《云计算的关键技术与应用实例》,王鹏著,2010,人民邮电出版社 阅读文献: 1. Jeffrey Dean and Sanjay Ghemawat,MapReduce: Simplied Data Processing on Large Clusters,OSDI ’04 2. Sanjay Ghemawat, et.al, The Google File System, SOSP’03 3. Sergey Brin and Lawrence Page, The Anatomy of a Large-Scale Hypertextual Web Search Engine 4. Andrew McCallumzy, et.al, Efficient Clustering of HighDimensional Data Sets with Application to Reference Matching 5. …… Ch5. 参见清华Hadoop下的MapReduce编程,P82;马里兰大学教程Section2:Hadoop Nuts& Bolts Ch7. 参见Data-Intensive Text Processing with MapReduce一书第3章
课程设计(研究生) 开题报告 目的:为了评估课程设计选题的内容和难度是否达到一定要求,需要提交 开题报告 主要内容 小组信息(人员,学号,联系信息) 课题分工:各个成员初步的课题分工计划 研究题目 研究问题背景 主要技术难点 主要解决方法和算法设计思路 提交时间:6月15日 开题报告文件命名规则:开题报告-组号-组长姓名.doc 课题报告提交至:FTP:114.212.209.146 用户名:hadoop 口令:hadoop 审阅意见返回:6月22日
课程设计(研究生) 最终课题完成与提交 课程设计结果提交(以下内容打包提交) 课题报告文件命名规则:课程设计报告-组号-组长姓名.doc 课程设计报告,内容包括 小组信息(人员,学号,联系信息) 课题小组分工:需要明确说明各成员在整个课题中分工负责完成的内容 课程设计题目 摘要 研究问题背景 主要技术难点 主要解决方法和算法设计思想 详细设计说明,包括详细算法设计、程序框架、功能模块、主要类的设计说明 程序运行和实验结果说明和分析 总结:特点总结,功能、性能、扩展性等方面存在的不足和可能的改进之处 参考文献 源程序 执行程序 运行结果文件 课题报告文件命名规则:课程设计报告-组号-组长姓名.doc 课题报告提交至:FTP:114.212.209.146, 用户名:hadoop 口令:hadoop 提交截止时间:7月22日前完成并提交报告