初步学习MapReduce编程——获取成绩表的最高分成绩

1、实验目的

(1)通过实验掌握MapReduce编程编程的基本方法
(2)通过MapReduce编程来实现一些常用的数据处理方法,包括求最大值、去重等。

2、实验内容

1、训练要点
(1)掌握MapReduce的执行流程。
(2)掌握基础的MapReduce程序编写。
(3)掌握MapReduce程序的输出/输出格式。
2、需求说明
有一个样例文件subject_score,即成绩表A。文件中的每一行数据包含两个字段:科目和分数。要求获取成绩列表中每个科目成绩最高的记录,并将结果输出到最高成绩表B。
3、实现思路及步骤
(1)在Mapper类中,map函数读取成绩表A中的数据,直接将读取的数据以空格(参考书籍配套资源中的格式)分隔,组成键值对<科目,成绩>, 即设置输出键值对类型为<Text,IntWritable>。
(2)在Reducer中,由于map函数输出键值对类型是<Text, IntWritable>,所以Reducer
接收的键值对是<Text.Iterable>。 针对相同的键(即科目),遍历比较它的值
(即成绩),找出最高值(即最高成绩),最后输出键值对<科目,最高成绩>。

3、实验步骤

准备类型如下数据文本
在这里插入图片描述
在eclipse里面运行代码成功后,打包到相应路径

package test;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.</
  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值