自定义groupingCompatator实现分组求top1和topN

本文介绍了如何通过自定义groupingComparator在Hadoop MapReduce中实现分组求Top1和TopN,展示了MapReduce在大数据处理中的应用。同时,文章还探讨了MapReduce的参数优化,包括内存、CPU资源的配置,以及shuffle性能的关键参数。最后,简单概述了YARN的主要组件和集群架构。
摘要由CSDN通过智能技术生成

1.自定义groupingCompatator实现分组求top1 topN

Order_0000001 Pdt_01 222.8
Order_0000001 Pdt_05 25.8

Order_0000002 Pdt_03 522.8
Order_0000002 Pdt_04 122.4
Order_0000002 Pdt_05 722.4

Order_0000003 Pdt_01 222.8

求取每给订单当中,金额最大的那个商品的价格是多少
求前top2,出来了两条数据,不满足我们每个组当中取前两个最大的值
select max(price)
from order o group by o.orderid order by price desc limit 2

top2表示的是每个订单当中最大的前两个值分组求topN
Order_0000001 Pdt_01 222.8
Order_0000001 Pdt_05 25.8

Order_0000002 Pdt_05 722.4
Order_0000002 Pdt_03 522.8

Order_0000003 Pdt_01 222.8

如何通过mapreduce来实现
如何通过MR实现分组求top1

第一个问题:求金额的最大值,要排序,按照金额来进行排序
第二个问题:如何区分不同的订单,,通过订单id来区分我们不同的订单,相同的订单,发送到同一个reduce里面去,形成一个集合
1

分区与分组的关系:
分区:主要是决定了我们的数据去往哪一个reduce
分组:决定了哪些数据分到一个组里面去,形成一个集合,一起调用一次reduce逻辑
2

2.Mapreduce的其他补充

2.1多job串联

2.2Mapreduce的参数优化
Mapreduce提交任务过程
3

虚拟内核:根据我们CPU的型号,CPU的类型,虚拟出来的一些核数

以下调整参数都在mapred-site.xml这个配置文件当中有
//以下参数是在用户自己的mr应用程序中配置就可以生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值