MapRedu编程模型
MR编程模型:
1、map的输出就是reduce的输入。
2、所有的输入和输出都是键值对形式:
<k1,v1>:map输入,来自hdfs,k1为每行数据偏移量,v1为该行数据
<k2,v2>:map输出
<k3,v3>:reduce输入,k2==k3,v3是集合,元素为v2
<k4,v4>:reduce输出,输出到hdfs,k4==k3,v4为v3内部所有元素算术和
3、在MapReduce的编程中,所有键值对的数据类型都必须是hadoop的数据类型
java类型 hadoop类型
String Text
int IntWritable
long LongWritable
double Doubleable
null Nullable
4、所有的hadoop数据类型均实现了hadoop的序列化,即类的对象可以作为map和reduce的输入输出。
java序列化:类的对象可以作为输入输出的对象。
5、一个mapreduce程序至少有三个类:Mapper子类,Reducer子类,主程序类。
6、如果一个类的对象要作为map和reduce的输入输出,则该类必须实现Writable接口,如果这个对象还
要排序的话,则可以实现WritableComparable接口。
7、如果要写分区类ÿ