一、问题描述
学校的学生的是一个非常大的生成数据的集体,比如每次考试的成绩。现有一个班级的学生一个月的考试成绩数据。
科目 姓名 分数
求出每个学生的最高分,平均成绩(整数(不能使用强制类型转换)),最低分。
二、思路介绍
在map阶段将学生姓名作为key,成绩作为value输出;
在reduce阶段进行最大值最小值平均值得求值。
三、代码实现
1、Map阶段
package com.studentscore;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import java.io.IOException;
public class ScoreMap extends Mapper<LongWritable, Text, Text, IntWritable> {
@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
//获取行
String line = value.toString();
//按逗号切分
String[] split = line.split