大数据讲课笔记5.7 MR案例—TopN

本篇博客详细讲解了如何使用MapReduce实现TopN分析法。首先介绍了TopN的概念和应用场景,接着通过一个具体案例分析了需求和解决方案。在Map阶段,利用TreeMap保存TopN数据,并在Reduce阶段进行数据汇总,提取最大值。博客涵盖了创建Maven项目、添加依赖、编写Mapper和Reducer类,以及运行Driver程序的全过程,最后总结了关键知识点并布置了上机操作任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零、学习目标

  1. 理解TopN分析法
  2. 实现TopN分析法

一、导入新课

  • 通过上节课的学习,我们熟悉了MapReduce经典案例——数据去重的具体实现流程。本节课将针对MapReduce经典案例——TopN进行详细讲解。

二、新课讲解

(一)案例分析

1、TopN分析法介绍

  • TopN分析法是指从研究对象中按照某一个指标进行倒序或正序排列,取其中所需的N个数据,并对这N个数据进行重点分析的方法。

2、案例需求及分析

  • 现假设有数据文件num.txt,现要求使用MapReduce技术提取上述文本中最大的5个数据,并最终将结果汇总到一个文件中。
  • 先设置MapReduce分区为1,即ReduceTask个数一定只有一个。我们需要提取TopN,即全局的前N条数据,不管中间有几个Map、Reduce,最终只能有一个用来汇总数据。
  • 在Map阶段,使用TreeMap数据结构保存TopN的数据,TreeMap默认会根据其键的自然顺序进行排序,也可根据创建映射时提供的 Comparator进行排序,其firstKey()方法用于返回当前集合最小值的键
  • 在Reduce阶段,将Map阶段输出数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒城译痴无心剑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值