MapReduce的排列和序列化的学习
1、概念和原理--结构化对象转换为字节流
2、编程流程(举例说明)

1、读取文件为键值对
<偏移量,文件内容>

2、Map阶段


3、排序


4、Reduce阶段

5、保存结果--使用TextOutputFormat类
3、代码编写
1、自定义类型和比较器--自定义命名为SortBean
并实现接口WritableComparable,还需要加上

然后根据文件中的数据类型进行变量定义:

并加上get和set方法,以及toString方法;

在write方法中实现序列化:
根据文件中数据类型的不同使用不同的函数方法写入:

在readFiles方法中实现反序列化:

在compareTo方法中定义比较器:


2、Mapper代码
自定义名称为SortMapper类,并继承于Mapper类,且加上相对应的泛型:



3、Reducer代码
自定义名称为SortReducer类,并继承于Reducer类,且加上相对应的泛型:

4、主类代码编写JobMain






浙公网安备 33010602011771号