【大数据】图解MapReduce计算平均分的流程

本文通过一个实例详细解析MapReduce计算平均分的流程,包括Map类和Reduce类的实现,以及main方法中配置参数的过程。Map阶段将数据转换为键值对,Reduce阶段进行数据聚合计算平均值。

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

MapReduce运行流程图

  书上是拿这道题来当MapReduce程序的第一个例题,很有代表性,所以我拿这道题来解释一下MapReduce程序运行的流程吧。
  先来看看代码的最上面的部分,都是一些import的引用类,如下图所示
import引用类
  这些import都不用手敲,都不用手敲,都不用手敲。先写好下面的Map、Reduce类和main()方法的代码之后按下Ctrl+Shift+O就会自动导入如果有很多选项,就会弹出提示框让你选择,根据上图可以看到选择导入的基本上都是org.apache.hadoop开头的,选中之后按回车,或者单击鼠标左键。import完之后那些红线就基本上没有了,如果还有红线只能说明两件事:一、import的不对;二、源程序有问题。如果import的不对,那么删除这个import再重新import别的试试,如果源程序有问题,那就需要具体问题具体分析了。下面我来演示一下如何使用Ctrl+Shift+O快捷键。
import动图
  再来看一下Map和Reduce类
Map、Reduce类
  因为我们写的Map和Reduce类需要在main()方法中调用,而main()方法是static的,所以我们写的Map和Reduce也必须是static的,这涉及到了Java内存那方面的知识,具体细节我会另写一篇文章介绍,现在先记住,static的方法只能调用static的类或常量或方法。
  我们写Map类,总不能想到啥写啥吧,必须有个规范,好在前人已经给我们制定好了规范,就是Mapper类,我们可以用按住Ctrl+鼠标左键单击Mapper,进入源码看一眼。
Mapper源码
  具体细节我就不说了,就说下面这一句代码

       public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> {
   
   

  这句代码告诉我们Mapper类的四个泛型的意义:输入键值对和输出键值对,回来看一下我们写的Map类,继承了Mapper

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值