MapReduce类型与格式
来源:互联网 发布:pycharm linux 编辑:程序博客网 时间:2024/05/06 00:33
MapReduce类型
map:(k1,v1)->(k2,v2)
partition:(K2,V2)->Integer
combine:(K2,list(V2))->(K2,list(V2))
reduce(k2,list(v2))->list(k3,v3)
java接口代码
public interface Mapper<K1,V1,K2,V2> extends JobConfigurable,Closeable{
void map(K1 key,V1 value,OutputCollector<K2,V2> output,Reporter reporter) throws IOException;
}
public interface Reducer<K2,V2,K3,V3> extends JobConfigurable,Closeable{
void reduce(K2 key,Iterator<v2> values,OutputCollector<k3,V3> output,Reporter reporter) throws IOException;
}
默认MapReduce作业
JobConf conf =
conf.setInputFormat(TextInputFormat.class); //LongWritable,Text
conf.setNumMapTask(1);//真正Map任务的数量将取决于输入文件的大小及文件块的大小(split)
conf.setMapperClass(IdentityMapper.class);
conf.setMapOutputRunnerClass(MapRunner.class);//map任务是由MapRunner负责运行的,回调map函数
conf.setMapOutputKeyClass(LongWritable.class);
conf.setMapOutputValueClass(Text.class);
conf.setPartitionerClass(hashPartitioner.class);
conf.setNumReduceTask(1);
conf.setReducerClass(IdentityReducer.class);
conf.setOutputKeyClass(LongWritable.class);
conf.setOutputValueClass(Text.class);
conf.setOutputFormat(TextOutputFormat.class);
JobClient.runJob(conf);
输入格式
InputSplit 长度getLength() 和存储位置getLocations()
长度用来排序分片,以便优先处理最大的分片,从而最小化作业运行时间
存储位置:以便map任务尽量放在分片数据附近。
InputFormat负责产生输入分片并将它们分割成记录
getSplits(JobConf job,int numSplits) 产生分片传递给jobtracker,分配给taskTracker,map任务(MapRunner)把输入分片传递给getRecordReader()方法
RecordReader<K,V> getRecordReader(InputSplit split,JobConf job, Reporter reporter);
MapRunner中部分代码
K key = reader.createKey();
V value = reader.createValue();
while(reader.next(key.value)){
mapper.map(key,value,output,reporter);//回调所写的map函数
}
- MapReduce类型与格式
- MapReduce类型与格式
- MapReduce的类型与格式
- MapReduce的类型与格式
- MapReduce类型与格式(输入与输出)
- 【Hadoop权威指南】MapReduce的类型与格式
- Hadoop学习笔记(五):MapReduce的类型与格式
- Mapreduce的类型和格式
- MapReduce 的类型与格式【编写最简单的mapreduce】(1)
- MapReduce输入输出类型、格式及实例
- 笔记:Hadoop权威指南 第7章 MapReduce 的类型与格式
- MapReduce输入输出类型、格式及实例,mapreduce输入输出
- 类型与格式对应
- 《权威指南》笔记七 MapReduce的类型和格式
- Hadoop On Yarn Mapreduce运行原理与常用数据压缩格式
- Hadoop之MapReduce输入与输出格式(五)
- Hadoop On Yarn Mapreduce运行原理与常用数据压缩格式
- hadoop初识之十:mapreduce编程模型与数据传输格式
- 15.2 矩阵链乘法
- Android:在PC屏幕上显示Android手机屏幕
- uva 11129 - An antiarithmetic permutation
- shutdown hook(关闭钩子)的用处-程序关闭之前要做的事情
- 关于C++中的#define
- MapReduce类型与格式
- “懒惰”Linux集群管理员的11个秘诀
- HDU 4022 Bombing (map + multiset)
- 数据结构基础_高仿append()方法
- 3734 Blocks DP矩阵优化入门
- 用cxf公布和调用web service
- 软件加壳输入表处理-解析
- MySQL初体验
- 剑指offer--发散思维(23、31、33、40、41、42、47、49、55)