mapper,reducer,OutputFormat
来源:互联网 发布:js中双引号与单引号 编辑:程序博客网 时间:2024/06/11 07:43
当完成读取之后,将切片完的数据作为Map的输入,进行Map;每个切片执行一个Map;
mapper要实现Mapper接口,在其中编写map方法;同时继承MapReduceBase类;实现mapper接口,其中有四种形式的参数,keyin,value,keyout,valueout,分别来指定输入key,value类型,输出key,value类型;
Mapper类中还提供了setup(),map(),cleanup(),run()方法,分别用于执行map之前的准备工作,在所有map任务完成后被调用,进行数据处理的主要操作;用于执行setup()-》run()-》cleanup()-》过程;前两个用于资源管理和利用;
就是通过map类实现mapper接口,即实现map()方法,通过指定输入输出格式来输入输出,其中有几种预定的mapper类如下:
IdentityMapper<key,value>原封不动的将输出为中间结果;
InverseMapper<key,value>将输入的<key,value>作为输出的<key,value> (inverse:逆)
RegexMapper<key>为每一个匹配的正则表达式生成一个(match,1)键值对;(regex:正则表达式)
TokenCountMapper<key>当输入值被标记时,生成一个(token,1)键值对;
MultithreadedMapper(key,value)多线程执行map方法;
Combin/partition
Combine主要负责将map中相同的key,value进行合并,避免重复传输造成文件冗余,但也可以作为结果reduce,其实它就是一种reduce,其默认实现为IndentityReducer类;
Partition过程是将map的运行结果发送到相应的Reduce中,因为reduce数量可能少,可以通过实现Partitioner接口来实现自己的Partition过程来提高负载均衡和分配效率;
Reduce过程实现reducer接口,实现reduce方法,同时继承MapReduceBase;
reduce类将Map的输出作为输入,重写reduce()方法;其中接口的四个参数和map相似;
reducer接收mapper传递过来的key/value对,然后根据key来排序,分组,并生成<key2,list<value2>>最后reducer根据<key2,list<value2>生成<key3,value3>;
预定义的reducer有以下几种:
IndentityReducer<key,value>将输入的<key,value>原封不动的输出为结果;
LongSumReducer<key>对长整型的value值求和;
IntSumReducer对整型的value值求和;
OutputFormat:
数据格式类型和InputFormat类型相似,多了个LazyOUtputFormat类型,延迟输出,保证第一条记录输出的时候才真正的创建文件;
getOutputCommit类管理任务输出;
- mapper,reducer,OutputFormat
- Mapper reducer 的生命周期
- Mapper 与 Reducer 解析
- Mapper与Reducer的链接
- Hadoop-Mapper-Reducer文档学习
- Mapper和Reducer入门程序
- MR Mapper/Reducer、Partitioner初解
- mapper-reducer word count 实例
- mapreduce之mapper、reducer个数
- hadoop mapper&reducer调试 + 测试驱动
- Hadoop Mapreduce Mapper和Reducer源码
- 关于Mapper、Reducer的个人总结
- Mapper与Reducer浅析(一)
- 多个Mapper和Reducer的Job
- Hadoop streaming编写mapper与reducer
- Hive Mapper和Reducer的设置
- MapReduce中Mapper类和Reducer类4函数解析
- Hadoop开发周期(二):编写mapper和reducer程序
- 【Docker容器的跨主机访问】- 使用weave实现跨主机容器连接
- 汇编语言之80X86寄存器组相关知识
- design项目:3、代码创建数据库表
- 汇编语言之寻址方式
- jdbc
- mapper,reducer,OutputFormat
- 2017.7.4
- Java8编程实践
- Java BitSet(位集)
- 优先考虑泛型方法
- css三大特性
- ZOJ3880 Demacia of the Ancients【序列处理+水题】
- HTML+CSS编写静态网站-25 课后作业05
- centos6配置网络