培训课程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
培训课程

深入浅出hadoop ——培训讲师:吴超 blog: MR执行流程 map、reduce键值对格式 WordCountApp的驱动代码 JobTracker 负责接收用户提交的作业,负责启动、跟踪任务执行。 JobSubmissionProtocol是JobClient与JobTracker通信的接口。 InterTrackerProtocol是TaskTracker与JobTracker通信的接口。 TaskTracker 负责执行任务。 JobClient 是用户作业与JobTracker交互的主要接口。 负责提交作业的,负责启动、跟踪任务执行、访问任务状态和日志等。 最小的MapReduce驱动 MapReduce驱动默认的设置 序列化概念 序列化(Serialization)是指把结构化对象转化为字节流。 反序列化(Deserialization)是序列化的逆过程。即把字节流转回结构化对象。 Java序列化(java.io.Serializable) Hadoop序列化的特点 序列化格式特点: 紧凑:高效使用存储空间。 快速:读写数据的额外开销小 可扩展:可透明地读取老格式的数据 互操作:支持多语言的交互 Hadoop序列化的作用 序列化在分布式环境的两大作用:进程间通信,永久存储。 Hadoop节点间通信。 Writable接口 Writable接口, 是根据 DataInput 和 DataOutput 实现的简单、有效的序列化对象. MR的任意Key和Value必须实现Writable接口. 常用的Writable实现类 自定义Writable类 基于文件的存储结构 SequenceFile 无序存储 MapFile 会对key建立索引文件,value按key顺序存储 基于MapFile的结构有: ArrayFile 像我们使用的数组一样,key值为序列化的数字 SetFile 他只有key,value为不可变的数据 BloomMapFile 在 MapFile 的基础上增加了一个 /bloom 文件,包含的是二进制的过滤表,在每一次写操作完成时,会更新这个过滤表。 自定义WritableKpi 电信例子 把上面例子里的Mapper的value改写为自定义Writable类型。修改原MapReduce程序,并成功执行。结果跟原来一致。 MapReduce输入的处理类 FileInputFormat:? FileInputFormat是所有以文件作为数据源的InputFormat实现的基类,FileInputFormat保存作为job输入的所有文件,并实现了对输入文件计算splits的方法。至于获得记录的方法是有不同的子类——TextInputFormat进行实现的。? InputFormat InputFormat 负责处理MR的输入部分. 有三个作用: 验证作业的输入是否规范. 把输入文件切分成InputSplit. 提供RecordReader 的实现类,把InputSplit读到Mapper中进行处理. InputSplit TextInputFormat InputFormat类的层次结构 其他输入类 自定义输入格式 Hadoop的输出 思考题 MapReduce框架的结构是什么 Map在整个MR框架中作用是什么 Reduce在整个MR框架中作用是什么 ◆ TextOutputformat 默认的输出格式,key和value中间值用tab隔开的。 ◆ SequenceFileOutputformat 将key和value以sequencefile格式输出。 ◆ SequenceFileAsOutputFormat 将key和value以原始二进制的格式输出。 ◆ MapFileOutputFormat 将key和value写入MapFile中。由于MapFile中的key是有序的,所以写入的时候必须保证记录是按key值顺序写入的。 ◆ MultipleOutputFormat 默认情况下一个reducer会产生一个输出,但是有些时候我们想一个reducer产生多个输出,MultipleOutputFormat和MultipleOutputs可以实现这个功能。 * * Java序列化的不足: 1.不精简。附加信息多。不大适合随机访问。 2.存储空间大。递归地输出类的超类描述直到不再有超类。序列化图对象,反序列化时为每个对象新建一个实例。相反。Writable对象可以重用。 3.扩展性差。而Writabl

文档评论(0)

zhanghc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档