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类,且加上相对应的泛型: