输出的文件内容
MapReduce作业要有3个类
Mapper类 Mapper的泛型有4种类型的参数Mapper<mapper输入的key即行号LongWritetable,mapper输入的value类型即一行文本Text,mapper输出的key类型Text,mapper输出的value类型Text>
1)首先创建2个私有的输出变量
2)重写map方法()
在这个方法中我们需要做什么呢(行->列,列->行)?
理解元数据的表示含义,并且将元数据分解成我们所需要的中间数据。
Reduce类(继承Reduce方法)
Reduce<Text,Text,Text,Text> 有4个参数,
1.Reduce输入key的类型(与mapper输出的key的类型一致,Text)
2.Reduce输入value的类型(与mapper输出的value的类型一致,Text)
3.Reduce输出key的类型(Text类型)
4.Reduce输出value的类型(Text类型)
创建流程
1.创建2个私有的输出变量
2.创建reduce流程
主方法类(MR1)
创建流程
1.定义1个文件输入路径的私有变量,
2.定义一个文件的输出路径私有变量
3.定义HDFS的地址
4.定义一个run方法(
创建一个job配置类(返回类型是整型),作业的配置
设置hdfs的地址
创建一个job实例,就是我们要执行的作业(a.设置一个主类,b.设置mapper类,设置Reduce类)
设置mapper的输出类型
设置输出Reduce的类型
设置输入和输出路径(FileSystem类),并将输出的路径设置到job中
最后,返回作业运行的状态,如果作业运行成功,返回1,如果运行失败返回-1
)
5.运行一个主方法,来运行这个作业
定义一个变量,来表示作业运行的结果。如果返回是1,打印运行成功,如果是-1,运行失败
MapReduce作业要有3个类
Mapper类 Mapper的泛型有4种类型的参数Mapper<mapper输入的key即行号LongWritetable,mapper输入的value类型即一行文本Text,mapper输出的key类型Text,mapper输出的value类型Text>
1)首先创建2个私有的输出变量
2)重写map方法()
在这个方法中我们需要做什么呢(行->列,列->行)?
理解元数据的表示含义,并且将元数据分解成我们所需要的中间数据。
2.Reduce类(继承Reduce方法)
Reduce<Text,Text,Text,Text> 有4个参数,
1.Reduce输入key的类型(与mapper输出的key的类型一致,Text)
2.Reduce输入value的类型(与mapper输出的value的类型一致,Text)
3.Reduce输出key的类型(Text类型)
4.Reduce输出value的类型(Text类型)
创建流程
1.创建2个私有的输出变量
2.创建reduce流程
3.主方法类
MapReduce作业要有3个类
Mapper类 Mapper的泛型有4种类型的参数Mapper<mapper输入的key即行号LongWritetable,mapper输入的value类型即一行文本Text,mapper输出的key类型Text,mapper输出的value类型Text>
1)首先创建2个私有的输出变量
2)重写map方法()
在这个方法中我们需要做什么呢(行->列,列->行)?
理解元数据的表示含义,并且将元数据分解成我们所需要的中间数据。
Reduce类
主方法类
不完整代码
2132131
21231
2132123
2131321
232131
一个Map Reduce作业要有Mapper类、Reduce类、主方法类
创建的reduce类
创建的map类