java mapreduce二次排序

原文链接:

https://www.toutiao.com/i6765808056191156748/

 

目的:

二次排序就是有下面的数据

a 3

a 1

a 100

c 1

b 2

如果只按照abc排序就会变成

a 3

a 1

a 100

b 2

c 1

我们希望是第二列也参与排序

a 1

a 3

a 100

b 2

c 1

创建Maven项目

java mapreduce二次排序

 

配置POM文件

java mapreduce二次排序

 

java mapreduce二次排序

 

java mapreduce二次排序

 

我们

java mapreduce二次排序

 

我们自定义Writable类,方便我们序列化

java mapreduce二次排序

 

添加属性 代表key-value的两个部分

java mapreduce二次排序

 

编写构造方法

java mapreduce二次排序

 

编写一个set方法,方便我们使用

java mapreduce二次排序

 

编写序列化和反序列化方法

java mapreduce二次排序

 

编写比较方法

java mapreduce二次排序

 

创建Mapper,注意输出的部分是自己创建的数据类型

java mapreduce二次排序

 

编写内容

java mapreduce二次排序

 

创建Comparator类,自定义分组

java mapreduce二次排序

 

编写代码

java mapreduce二次排序

 

创建Partition类,自定义分区类

java mapreduce二次排序

 

创建Reduce类

java mapreduce二次排序

 

编写内容

java mapreduce二次排序

 

创建主类,完成主类的编写

java mapreduce二次排序

 

其中自定义部分的类,我们放入到主方法中

自定义分区类和自定义分组类

java mapreduce二次排序

 

准备数据源

java mapreduce二次排序

 

我们将项目打包上传到Linux上

java mapreduce二次排序

 

启动Hadoop

java mapreduce二次排序

 

将数据上传到HDFS上

hdfs dfs -mkdir /secondSort

hdfs dfs -put /data/secondSort/data.txt /secondSort/

hdfs dfs -ls /secondSort/

java mapreduce二次排序

 

我们执行我们的jar

yarn jar /data/secondSort/secondSort.jar com.xlglvc.xxx.mapredece.secondSort.SecondSortDriver /secondSort/data.txt /secondSortoutput

出现问题:

java mapreduce二次排序

 

经过排查,发现是我的数据不是用\t隔开的,于是重新处理数据

java mapreduce二次排序

 

然后删除HDFS上的data.txt,将新的data.txt文件上传,重新执行jar文件,我们观看结果

java mapreduce二次排序

 

然后我们查看生成的文件,是按照我们预想的结果完成了二次排序

java mapreduce二次排序

posted on   那山的狐狸  阅读(282)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示