1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第
2、四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,JobControl,编程实例,JobControl,设计原理,ChainMapper/ChainReducer,的实现原理,ChainMapper/ChainReducer,的编程实例,课程目标,JobControl,的编程实例,使用,JobControl,,则用户只需使用,addDepending(),函数添加作业依赖关系接口,,JobControl,会按照依赖关系调度各个作业,JobControl,设计原理分析,JobControl,由两个类组成:,Job,和,JobControl,
3、Job,类封装了一个,MapReduce,作业及其对应的依赖关系,主要负责监控各个依赖作业的运行状态,以此更新自己的状态,JobControl,封装了一系列,MapReduce,作业及其对应的依赖关系,ChainMapper/ChainReducer,的实现原理,ChainMapper/ChainReducer,主要为了解决线性链式,Mapper,而提出的,ChainMapper/ChainReducer,的实现原理,对于任意一个,MapReduce,作业,,Map,和,Reduce,阶段可以有无限个,Mapper,,但,Reducer,只能有一个,一个,ChainMapper/ChainRe
4、ducer,不适用的场景,ChainMapper/ChainReducer,的编程实例,ChainMapper/ChainReducer,的基本使用方法,ChainMapper/ChainReducer,实现原理分析,关键技术点是修改,Mapper,和,Reducer,的输出流,将本来要写入文件的输出结果重定向到另外一个,Mapper,中,需要重新实现一个,OutputCollector,完成数据重定向功能,当用户调用,addMapper,添加,Mapper,时,可以会为新添加的每个,Mapper,指定一个特有的,JobConf,前面的实例对应的几个配置选项,ChainMapper/ChainReducer,实现原理分析,链式作业的执行,将各个,Mapper,的,JobConf,对象反序列化,构造对应的,Mapper,和,Reducer,对象,添加到数据结构,mappers,(,List,类型)和,reducer,(,Reducer,类型)中,ChainMapper,中实现的,map(),函数如下,欢迎访问我们的官方网站,