MR
新手路上的程序员
这个作者很懒,什么都没留下…
展开
-
MR 笔记五
1.InputFormatInputFormat常见子类包括:TextInputFormat (普通文本文件,MR框架默认的读取实现类型)KeyValueTextInputFormat(读取一行文本数据按照指定分隔符,把数据封装为kv类型)NLineInputF ormat(读取数据按照行数进行划分分片) CombineTextInputFormat(合并小文件,避免启动过多MapTask任务)自定义InputFormat 2.CombineTextInputFormat// 如果不设置Inpu原创 2020-07-03 17:14:21 · 1012 阅读 · 0 评论 -
MR 笔记四
1.MapReduce中的Combiner1. Combiner是MR程序中Mapper和Reducer之外的一种组件 2. Combiner组件的父类就是Reducer 3. Combiner和reducer的区别在于运行的位置 4. Combiner是在每一个maptask所在的节点运行; 5. Combiner的意义就是对每一个maptask的输出进行局部汇总,以减小网络传输量。 6. Combiner能够应用的前提是不能影响最终的业务逻辑,此外,Combiner的输出kv原创 2020-07-03 17:06:22 · 2213 阅读 · 0 评论 -
MR 笔记三
Shuffle机制map阶段处理的数据如何传递给reduce阶段,是MapReduce框架中最关键的一个流程,这个流程就叫shuffle。shuffle: 洗牌、发牌——(核心机制:数据分区,排序,分组,combine,合并等过程)...原创 2020-07-03 16:33:15 · 2444 阅读 · 0 评论 -
MR 笔记二
1.Writable接口在MR中使用对象创建对象时需要实现Writable接口中的write()和readFields()方法反序列化方法读顺序必须和写序列化方法的写顺序必须一致 2.MapTask运行机制详解详细步骤: 1. 首先,读取数据组件InputFormat(默认TextInputFormat)会通过getSplits方法对输入目录中文件进行逻辑切片规划得到splits,有多少个split就对应启动多少个MapTask。split与block的对应关 系默认是一对一。 ...原创 2020-07-03 16:13:51 · 2784 阅读 · 0 评论 -
MR 笔记一
1.MapReduce编程规范及示例编写 Mapper类 用户自定义一个Mapper类继承Hadoop的Mapper类 Mapper的输入数据是KV对的形式(类型可以自定义) Map阶段的业务逻辑定义在map()方法中 Mapper的输出数据是KV对的形式(类型可以自定义)注意:map()方法是对输入的一个KV对调用一次!! 简单点说 在读取文本的时候 每一行数据会触发一次Map任务举个栗子 wordcount:LongWritable, Text, Text, Int...原创 2020-07-02 09:55:26 · 389 阅读 · 0 评论