




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Hadoop的MapReduce分析,张龙,目录,1 MapReduce编程模型 2 MapReduce能做什么,不能做什么 3 Hadoop-MapReduce 技术简介 4 Hadoop-MapReduce程序性能调优 5 下一代MapReduce(YARN/MRv2),1 MapReduce编程模型,2 MapReduce能做什么,不能做什么,MapReduce借用函数式语言的映射(Map)和规约(Reduce)原语,通过自动切分输入数据集,在独立的数据切片上应用Map操作产生中间结果的键值对(key/value pair)集合,然后通过分区操作(partition)确保具有同样键的数据映射到同一分区中并借助shuffle在无共享的集群中传递中间结果,最后在不同的中间结果分区中引用Reduce操作产生最终的规约结果。 这种编程方式并不优雅!,2 MapReduce能做什么,不能做什么,MapReduce编程规范中有一个重要假设:Mapper和Reducer过程不存在任何依赖,可以无交互的在不同的数据切片上独立执行。 易并行模型 (Embarrassingly Parallel Computation ,EPC) 对于矩阵运算,大图运算。这种编程模型,无能为力。,2 MapReduce能做什么,不能做什么,解决办法: Bulk Synchronous Programming,BSP 大同步编程模型,3 Hadoop-MapReduce 技术简介,3 Hadoop-MapReduce 技术简介,1 分布式并行计算 MapReduce框架是由JobTracker和TaskTracker两类服务调度的。JobTracker是主控服务,只有一个,负责调度和管理TaskTracker,把Map任务和Reduce任务分配给空闲的TaskTracker,使这些服务并行运行,并监控任务的运行情况。TaskTracker是从服务,可以有多个,负责执行任务。如果某个TaskTracker执行失败或者出现故障,JobTracker将这一任务分发给其他空闲的TaskTracker中。 2 本地计算 通常,MapReduce框架和分布式文件系统是运行在一组相同的节点上的,这样配置,允许框架在那些存储数据的节点上高效的调度任务,避免带宽的浪费。,3 Hadoop-MapReduce 技术简介,3 Combine combine过程将map任务输出的有相同key值的多个组合成一个。很多情况下,combine可以直接使用reduce函数,combine能减少中间结果的数量,从而减少数据传输的网络流量 4 Partition combine过程之后,把产生的中间结果按照key的范围划分成R份。通常采用hash函数完成,hash(key)mod R,这样保证一定范围内的key值,一定由某一个reduce任务完成,简化了Reduce过程。 5 读取中间结果 Map阶段的中间结果,会以文件形式保存在本地磁盘。中间结果的位置会通知给JobTracker,JobTracker再通知Reduce任务到哪一个DataNode上去取中间结果。,4 Hadoop-MapReduce程序性能调优,4.1 从应用程序角度进行优化 4.1.1 避免不必要的reduce任务。对于 4.1.2 外部文件引入,可以将文件通过DistributedCache放入缓存中,以在多个task之间共享文件。 例子:JNI ,索引文件,基本数据的共享 4.1.3 考虑combiner 例子:最终处理的数据需要按key值排序存储。 4.1.4 根据处理数据的特征,选择合适的数据类型。 Text对象使用起来很方便,但它在由数值转换到文本或是由UTF8字符串转换到文本时都是低效的,且会消耗大量的CPU时间。当处理那些非文本的数据时,可以使用二进制的Writable类型,如IntWritable, FloatWritable等。二进制writable好处:避免文件转换的消耗;使map task中间结果占用更少的空间。 4.1.5 使用StringBuffer而不是String,4 Hadoop-MapReduce程序性能调优,4.2 从参数进行调优 Hadoop目前有190多个配置参数,其中大约有25个对hadoop应用程序效率有显著的影响。 MapReduce相关配置 io.sort.mb io.sort.spill.percent mapred.child.java.opts press.map.output/ Mpress,5 下一代MapReduce(YARN/MRv2),Hadoop 0.23.0是一个通用的资源分配框架,它不仅支持MapReduce计算框架,同时也支持流式计算框架,迭代计算框架。它实现时采用基于了事件驱动机制,异步编程模型,如下图所示:,EventHandler被称作事件处理器, 每种事件类型对应一种EventHandler,其对事件的处理过程通过状态机来描述,handler 接收到一个事件后,使处理对象当前状态跳转到另外一个状态,同时触发一个动作。,下一代MapReduce(YARN/MRv2),状态机:每个对象被建模成有限状态机,下一代MapReduce(YARN/MRv2),基于actors model的事件模型 1 每一个计算实体可以: 1 向其他actor发送有限个信息 2 收到的消息时触发一个行为 3 创建若干个新的actor 2 固有的并行性 3 异步的,MapReduce的形式化表示,以wordcount为例: MapReduce: , - ,key2,sum(value3+value4),shuffle过程具体实现,shuffle过程:描述的是数据从Map Task 输出到Reduce Task输入这一过程。,Map Task中的 shuffle阶段,shuffle过程具体实现,Reduce阶段的s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家具售后部管理制度
- 家电维修业管理制度
- 应急战备库管理制度
- 彩箱包装厂管理制度
- 律师驻法院管理制度
- 心理测量室管理制度
- 快递健康码管理制度
- 快餐厅公司管理制度
- 急诊手麻醉管理制度
- 成品库规章管理制度
- 苏州市昆山市惠民物业管理有限公司招聘笔试真题2024
- 初级银行从业资格考试《个人贷款》新版真题卷(2025年含答案)
- 民航飞行员招飞心理测试题及答案
- 生地考试测试题及答案
- 《动物保定技术》课件
- 2025年出版:全球市场光伏硅胶总体规模、主要生产商、主要地区、产品和应用细分调研报告
- 北京市朝阳区2023-2024学年四年级下学期语文期末考试卷(含答案)
- GB/T 45385-2025燃气燃烧器和燃烧器具用安全和控制装置特殊要求排气阀
- 留学机构合作协议书范本
- 太极拳教学合同协议
- 家校社协同劳动教育实施现状与对策研究
评论
0/150
提交评论