Mapper
- 自定义类继承Mapper类
- 重写自定义类中的map方法,在该方法中将K1和V1转为K2和V2
- 将生成的K2和V2写入上下文中
二、Reduce
- 自定义类继承Reduce类
- 重写Reducer中的reduce方法,在该方法中将K2和V2转为K3和V3
- 将K3和V3写入上下文中
三、Driver
整个程序需要一个Driver来进行提交,提交的是一个描述了各种必要信息的job对象
- 定义类,编写main方法
- 在main方法中指定以下内容
- 创建一个job任务对象
- 指定job所在的jar包
- 指定源文件的读取方式类和源文件的读取路径
- 指定自定义的Mapper类和K2、V2类型
- 指定自定义分区类(如果有的话)
- 指定自定义分组类(如果有的话)
- 指定自定义的Reducer类和K3、V3的数据类型
- 指定输出方式类和结果输出路径
- 将job提交到yarn集群