MapReduce
1.1 输入输出
首先都是 k, v 的形式
map 到 reduce 端是通过网络来传输,所以 k, v 都需要序列化和反序列化,Java 基本数据类型不支持序列化,所以需要用 MR 自己封装的类型,比如 LongWritable, Text, IntWritable 等等
reduce 的输入顺序默认是按照 key 的大小顺序(字符串的字典顺序)来进行处理,如果 map 输出的 key 是一个对象,可以 implements WritableComparable 接口,自定义 key 的顺序来交给 reduce