hadoop2.5.2学习10--MR之统计每月最高三个温度02
来源:互联网 发布:松下焊接机器人编程 编辑:程序博客网 时间:2024/05/16 13:07
1、InputFromat
inputFormat 负责创建inputSplit并且将他们拆分成键值对(records)
有两个方法:
- getSplits
- createRecordReader
通过调用getSplits来进行分片,然后将它们发送到Application Master.
Map通过调用InputFormat的createRecordReader
方法来获取RecordReader对象, RecordReader就相当于record的迭代器,map任务使用此生成的键值对,然后传递给map()。
查看Mapper的run()可以看到map的整个完成流程:
- 首先执行set(),
- 然后调用context的nextKeyValue(), 为mapper提供键值对.
- 通过context,键值对从RecordReader取出后传递给map();当reader读到stream的结尾,netKeyValue()返回fals, map结束。
- 调用cleanup()
/** * Expert users can override this method for more complete control over the * execution of the Mapper. * @param context * @throws IOException */ public void run(Context context) throws IOException, InterruptedException { setup(context); try { while (context.nextKeyValue()) { map(context.getCurrentKey(), context.getCurrentValue(), context); } } finally { cleanup(context); } }
Mapper的run()方法是公共的,可以由用户定制。MultithreadedMapper是一个多线程并发运行多个mapper的实现(mapreduce.mapper.multithreadedmapper.threads可以设置线程数量)。对于大多数的数据处理任务来说,默认的执行机制没有优势。但是对于因为需要链接外部服务器而造成单个记录处理时间较长的mapper来说,它允许多个mapper在同一个JVM下尽量避免竞争方式执行。
0 0
- hadoop2.5.2学习10--MR之统计每月最高三个温度02
- hadoop2.5.2学习10--MR之统计每月最高三个温度01
- hadoop2.5.2学习09--MR之统计每月最高三个温度
- hadoop2.5.2学习12-MR之PageRank
- hadoop2.5.2学习12-MR之PageRank01
- hadoop2.5.2学习12-MR之PageRank02
- hadoop2.5.2学习11-MR之好友推荐1
- hadoop2.5.2学习11-MR之好友推荐2
- hadoop2.5.2学习14--MR之协同过滤天猫推荐算法实现02
- Hadoop2.5.2学习02--MR执行环境的类型
- hadoop2.5.2学习13-MR之新浪微博TF-IDF算法简介
- hadoop2.5.2学习13-MR之新浪微博-DF的实现
- hadoop2.5.2学习14--MR之协同过滤天猫推荐
- hadoop2.5.2学习14--MR之协同过滤天猫推荐算法实现01
- hadoop2.6温度统计mapreduce程序
- hadoop - hadoop2.6 分布式 - 简单实例学习 - 统计某年的最高温度和按年份将温度从高到底排序
- Hadoop2.5.2学习01--mapreduce统计单词数
- 统计每月订单总额
- 机器学习笔记 - Hard-Margin Support Vector Machine
- 类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- uri
- Smarty入门 变量调节器
- Error getting nested result map values for 'company'. Cause: java.sql.SQLException: Invalid value fo
- hadoop2.5.2学习10--MR之统计每月最高三个温度02
- 3dsMax学习笔记01_用VRayMtl材质制作玻璃材质
- 如何将mysql安装到系统服务。
- 写代码训练词向量时踩过的坑
- 对于任意正整数都可以找出至少一串连续奇数,它们的和等于该整数的立方。以下程序验证[2,20]之间的数满足这一性质
- Python08
- Spring中线程池的应用
- 荣幸成为CSDN学院讲师,正在制作精华课程
- Qt5.7中使用MySQL Driver