MR实战:统计总分与平均分

本文通过Apache Hadoop的MapReduce框架,详细介绍了如何计算学生总分和平均分。首先,启动Hadoop服务,创建并上传score.txt数据文件到HDFS。接着,创建Maven项目,添加Hadoop依赖,编写ScoreMapper、ScoreReducer和ScoreDriver类。Mapper将数据拆分为姓名和成绩,Reducer计算总分和平均分。最后,运行Driver并检查结果,展示了MapReduce在处理学生成绩分析中的应用。
摘要由CSDN通过智能技术生成

一、实战概述

  • 我们将演示如何使用Apache Hadoop的MapReduce框架计算学生总分和平均分。针对包含姓名和六门科目成绩的五条记录数据,我们将在Hadoop上进行以下步骤:
  • 启动服务,准备数据(创建score.txt文件并上传到HDFS的/calcscore/input目录);实现MapReduce过程,包括创建Maven项目、添加依赖、配置日志、编写ScoreMapper和ScoreReducer类,以及设置作业的ScoreDriver类。
  • 在ScoreMapper中,我们将每行数据拆分为姓名和科目成绩的键值对。ScoreDriver负责作业配置和调用Mapper和Reducer。ScoreReducer计算每个学生的总分和平均分,并输出结果。最后,运行ScoreDriver并查看HDFS上的结果文件。此过程展示了MapReduce在处理和分析学生成绩数据中的应用。

二、提出任务

  • 成绩表,包含六个字段(姓名、语文、数学、英语、物理、化学)的成绩表,共有五条记录。
姓名 语文 数学 英语 物理 化学
李小双 89 78 94 96 87
王丽霞 80 94 86 78 80
吴雨涵 67 90 95 92 60
张晓红 76 87 90 79 59
陈燕文 95 97 92 88 86

三、完成任务

(一)准备数据

  • 启动hadoop服务
    在这里插入图片描述

1、在虚拟机上创建文本文件

master主机上创建calcscore目录,在里面创建score.txt文件在这里插入图片描述

李小双 89 78 94 96 87
王丽霞 80 94 86 78 80
吴雨涵 67 90 95 92 60
张晓红 76 87 90 79 59
陈燕文 95 97 92 88 86

2、上传文件到HDFS指定目录

  • 创建/calcscore/input目录,执行命令:hdfs dfs -mkdir -p /calcscore/input
    在这里插入图片描述
  • 将文本文件score.txt,上传到HDFS的/calcscore/input目录
    在这里插入图片描述

(二)实现步骤

1、创建Maven项目

  • Maven项目 - CalcScore
    在这里插入图片描述

  • 注意!!!
    JDK版本要与服务器上的JDK版本一致

  • 单击【Create】按钮
    在这里插入图片描述

2、添加相关依赖

  • 在pom.xml文件里添加hadoop和junit依赖
    在这里插入图片描述
<dependencies>
        <!--hadoop客户端-->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.3.4</version>
        </dependency>
        <!--单元测试框架-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值