分组排序案例分析| 学习笔记

简介: 快速学习分组排序案例分析

开发者学堂课程【Hadoop 分布式计算框架 MapReduce:分组排序案例分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/94/detail/1529


分组排序案例分析


简介:

1、GroupingComparator 分组(辅助排序)

2、MapReduce 详细工作流程(二)

3、GroupingComparator 分组案例实操

 

1.GroupingComparator 分组(辅助排序)

对 Reduce 阶段的数据根据某一个或儿个字段进行分组。

分组排序步骤:

(1)自定义类继承 WritableComparator

(2)重写 compare() 方法

@override

public int compare(WritableComparable a,writableComparable b)

{

//比较的业务逻辑

sreturn result;

}

(3)创建一个构造将比较对象的类传给父类

protected orderGroupingComparator () {

super (orderBean.class, true) ;

}


2.MapReduce 详细工作流程(二)

图片17.png


3.GroupingComparator 分组案例实操

1、需求

有如下订单数据

图片18.png

现在需要求出每一个订单中最贵的商品

(1)输入数据

图片19.png

(2)期望输出数据

1    222.8

2    722.4

3    232.8

2、需求分析

(1)利用“订单 id 和成交金额”作为 key,可以将 Map 阶段读取到的所有订单数据按照 id 升序排序,如果 id 相同再按照金额降序排序,发送到 Reduce。

(2)在 Reduce 端利用 groupingComparator 将订单 id 相同的 kv 聚合成组,然后取第一个即是该订单中最贵商品,如图所示:

图片20.png

相关文章
|
7月前
|
Serverless Python
分组和聚合DataFrame信息案例解析
该文介绍了如何使用pandas对DataFrame进行分组和聚合操作。首先,通过创建字典并转换为DataFrame,展示了基础数据结构。接着,利用`groupby()`方法按城市字段进行数据分组,然后应用`mean()`函数计算各城市平均年龄,显示了聚合功能。此外,文中指出还可使用`sum()`、`count()`等其他聚合函数处理分组数据。
75 0
各种基础排序的超详细解析及比较
各种基础排序的超详细解析及比较
40 0
|
SQL 数据库管理 索引
SQL基础——聚合与排序(下)
SQL基础——聚合与排序(下)
164 0
|
存储 移动开发 算法
八大排序(一)--------排序的基本概念与分类
八大排序(一)--------排序的基本概念与分类
73 0
|
SQL
SQL基础——聚合与排序(上)
SQL基础——聚合与排序(上)
72 0
|
数据挖掘
白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序
白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序
83 0
|
数据挖掘
白话Elasticsearch41-深入聚合数据分析之案例实战__过滤+聚合:统计价格大于2000的电视平均价格
白话Elasticsearch41-深入聚合数据分析之案例实战__过滤+聚合:统计价格大于2000的电视平均价格
93 0
|
Python
LeetCode 1282. 用户分组
有 n 位用户参加活动,他们的 ID 从 0 到 n - 1,每位用户都 恰好 属于某一用户组。给你一个长度为 n 的数组 groupSizes,其中包含每位用户所处的用户组的大小,请你返回用户分组情况(存在的用户组以及每个组中用户的 ID)。
77 0
|
关系型数据库 MySQL 数据库
MySql基础-笔记6 -排序、分组、连接的使用、NULL值处理
MySql基础-笔记6 -排序、分组、连接的使用、NULL值处理
197 0
MySql基础-笔记6 -排序、分组、连接的使用、NULL值处理
|
存储 数据挖掘 BI
【python数据分析】数据的分组,遍历,统计
数据的分组,遍历,统计 俗话说:“人与类聚,物以群分”,到这里我们将学习数据的分组以及分组后统计。Pandas的分组相对于Excel会更加简单和灵活。
【python数据分析】数据的分组,遍历,统计