MapReduce作业的输入与输出
MapRecude计算框架是在键值对<key, value>上进行操作的。MapReduce计算框架将作业的输入视为一组<key,value>对,并生成一组<key, value>对作为其输出,可能是不同类型的。<key, value>中:
- key和value的类都要由框架实现序列化,所以都需要实现
org.apache.hadoop.io.Writable接口; - 除此之外key的类还需要实现
org.apache.hadoop.io.WritableComparable接口,因为在map操作之后还需要对key进行排序操作。
MapReduce作业的输入和输出类型:
(input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output)
