然后reduce函数汇总每个Map任务得到的前K个查询词.PPT

然后reduce函数汇总每个Map任务得到的前K个查询词.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
然后reduce函数汇总每个Map任务得到的前K个查询词

基本概念 Job Task JobTracker TaskTracker MapReduce体系结构 JobTracker的角色 ① 作业调度 分配任务、监控任务执行进度 监控TaskTracker的状态 TaskTracker的角色 执行任务 汇报任务状态 MapReduce作业执行过程 MapReduce的容错机制 ① 重复执行(默认重复执行4次) ② 推测执行 MapReduce的四个阶段 Split阶段 Map阶段(需要编码) Shuffle阶段 Reduce阶段(需要编码) Split阶段 Map阶段(编码) Shuffle阶段 WordCount各阶段总结 Map阶段(编码) 输入、输出都是键值对 Map函数伪代码 // key:字符串偏移量 //value: 一行字符串内容 Map(String key, String value){ // 将字符串分割成单词 Words=SplitIntoTokens(value); For each word w in words: EmitIntermediate(w,“1”);} Reduce阶段(编码) Reduce函数伪代码 // key:一个单词 //value: 该单词出现的次数列表 Reduce(String key, Iterator values){ int result=0; For each v in values: result+=StringToInt(v); Emit(key,IntToString(result));} MapReduce的典型应用 Top K问题 在搜索引擎邻域,统计最热门的K个查询词 可分解成两个MapReduce作业 第一个,典型的wordcount问题 第二个,首先map()函数排序并输出前K个频率最高的词。然后reduce()函数汇总每个Map任务得到的前K个查询词。 K-means聚类 是一种基于距离的聚类算法,采用距离作为相似性的评价指标。 Map()函数计算每个对象到中心点的距离,选择距每个对象最近的中心点,并输出中心点, 对象对。 Reduce函数计算每个聚类中对象的距离均值,并将这K个均值作为下一轮初始中心点 K-means聚类 是一种基于距离的聚类算法,采用距离作为相似性的评价指标。 K-means聚类 Example K-means聚类 是一种基于距离的聚类算法,采用距离作为相似性的评价指标。 Map()函数计算每个对象到中心点的距离,选择距每个对象最近的中心点,并输出中心点, 对象对。 Reduce函数计算每个聚类中对象的距离均值,并将这K个均值作为下一轮初始中心点 贝叶斯分类 MapReduce不能解决的问题 无法将该问题分解成若干个互不相干的子问题 斐波那契数列:指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987 从第3项开始,每一项都等于前两项之和 MapReduce不能解决的问题 层次距离法 将每个对象归为一类,然后不断迭代,直到所有对象合并成一个大类。 MapReduce分布式缓存 背景:在执行MapReduce时,可能Mapper之间需要共享一些信息,如果信息量不大,可以将其从HDFS加载到内存中,这就是Hadoop分布式缓存机制 分布式缓存机制举例 Wordcount修改:只统计单词列表中存在的单词在文档中的出现次数 Hadoop分布式缓存 加载到内存发生在Job执行之前,每个从节点各自都缓存一份相同的共享数据。 如果共享数据太大,可以将共享数据分批缓存,重复执行作业。 分布式缓存实例——矩阵相乘 矩阵在文件中的表示 将右侧矩阵进行转置 如何使用分布式缓存——第1步 第2步 在Mapper类或Reducer类的setup方法中,用输入流获取分布式缓存中的文件。 MapReduce编程接口 InputFormat类 ① 指定输入文件格式; ② 将输入数据切分成若干个Split ③ 将每个split中的数据解析成一个个map函数要求的key/value对 Partitioner类 确定map() 函数产生的每个key/value对发送给哪个Reduce Task函数处理 Reducer OutputFormat MapReduce编程接口 OutputFormat类 指定输出文件的格式,即每个key/value对以何种形式保存到输出文件中 5.7 MapReduce编程接口 5.7.1 InputFormat——输入格式类 5.7 MapReduce编程接口 5.7.1 InputFormat——输入格式类 5.7.2 FileInputFormat——

文档评论(0)

fengruiling + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档