hadoop基础课件4-使用mapreduce程序分析数据_第1页
hadoop基础课件4-使用mapreduce程序分析数据_第2页
hadoop基础课件4-使用mapreduce程序分析数据_第3页
hadoop基础课件4-使用mapreduce程序分析数据_第4页
hadoop基础课件4-使用mapreduce程序分析数据_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用MapReduce程序分析数据课程目标

掌握MapReduce的基本原理第一个MapReduce程序

MapReduce的序列化

MapReduce的排序

MapReduce的分区什么是Combiner?什么是Shuffle?MapReduce的基本概念和原理问题:怎样解决海量数据的计算?MapReduce的基本概念MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.MapReduce由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce()两个函数,即可实现分布式计算,非常简单。这两个函数的形参是key、value对,表示函数的输入信息。第一个Map-Reduce程序实现WordCountMapReduce的高级编程MapReduce的序列化MapReduce的排序MapReduce的分区什么是Combiner?MapReduce的序列化序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。即把字节流转回结构化对象。Java序列化(java.io.Serializable)Hadoop序列化的特点序列化格式特点:紧凑:高效使用存储空间。快速:读写数据的额外开销小可扩展:可透明地读取老格式的数据互操作:支持多语言的交互Hadoop的序列化格式:Writable

Hadoop序列化的作用序列化在分布式环境的两大作用:进程间通信,永久存储。Hadoop节点间通信。实现Hadoop的序列化输出员工信息MapReduce的排序在Map和Reduce阶段进行排序时,比较的是key2。value2是不参与排序比较的。如果要想让value2也进行排序,需要把key2和value2组装成新的类,作为key2,才能参与比较。MapReduce的排序示例按照员工薪水进行排序MapReduce的分区Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。MapReduce有一个默认的分区规则:只会产生一个分区MapReduce的分区示例按照员工的部门号进行分区输出分区1中的数据分区2中的数据分区3中的数据什么是Combiner?每一个map可能会产生大量的输出,combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量。combiner最基本是实现本地key的归并,combiner具有类似本地的reduce功能。如果不用combiner,那么,所有的结果都是reduce完成,效率会相对低下。使用combiner,先完成的map会在本地聚合,提升速度。Combiner注意注意Combiner的输出是Reducer的输入,如果Combiner是可插拔的,添加Combiner绝不能改变最终的计算结果。所以Combiner只应该用于那种Reduce的输入key/value与输出key/value类型完全一致,且不影响最终结果的场景。比如累加,最大值等。什么是Shuffle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论