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

posted @ 2023-10-05 15:31  yesyes1  阅读(3)  评论(0编辑  收藏  举报