实训任务05 MapReduce获取成绩表的最高分记录
实训任务05 MapReduce获取成绩表的最高分记录
实训1:统计用户纺问次数
任务描述:
统计用户在2016年度每个自然日的总访问次数。原始数据文件中提供了用户名称与访问日期。这个任务就是要获取以每个自然日为单位的所有用户访问次数的累加值。如果通过MapReduce编程实现这个任务,首先要考虑的是,Mapper与Reducer各自的处理逻辑是怎样的;然后根据处理逻辑编写出核心代码;最后在Eclipse中编写完整代码,编译打包后提交给集群运行。
分析思路和逻辑
(1) 输入/输出格式。
这里社交网站用户的访问日期在格式上都属于文本格式,访问次数为整型数据格式。其组成的键值对为<访问日期,访问次数>,因此Mapper的输出与Reducer的输出都选用Text类与IntWritble类。
(2) Mapper要实现的计算逻辑
Map函数的主要任务是读取用户访问文件中的数据,输出所有访问日期与初始次数的键值对。<访问日期,1 >
(3) Reducer要实现的计算逻辑
读取Mapper输出的键值对<访问日期,1>,进行累加。
例:user_login.txt访问日期格式如下:

程序代码如下:
操作步骤:
1.编写以下代码:dailyAccessCount.java,完整内容如下所示。



2.编译生成dailyAccessCount.jar。
3.上传dailyAccessCount.jar到Hadoop集群服务器节点。
Hdfs dfs -put /root/hadooptmp/user_login.txt /user/test
4.在Hadoop集群服务器的终端,以hadoop jar命令提交任务。代码如下
Hadoop jar dailyAccessCount.jar \
/user/root/user_login.txt \
/user/root/AccessCount
实训要求:
分析以上代码,按给出的dailyAccessCount.txt程序代码进行编译运行。将运行结果截图在下面
实训2获取成绩表的最高分记录
1.训练要点
(1)掌握MapReduce的执行流程。
(2)掌握基础的MapReduce程序编写。
(3)掌握MapReduce程序的输人输出格式。
2.需求说明
有一个样例文件subject_score即成绩表A。文件中的每一行数据包含两个字段,科 目和分数。要求获取成绩列表中每个科目成绩最高的记录,并将结果输出到最高成绩表B.
成绩表A的部分内容:
|
语文 |
73 |
|
数学 |
97 |
|
英语 |
21 |
|
物理 |
72 |
|
化学 |
49 |
|
生物 |
69 |
|
语文 |
106 |
|
数学 |
112 |
|
英语 |
38 |
最高成绩表B.内容部分内容:
|
语文 |
99 |
|
数学 |
149 |
|
英语 |
122 |
|
物理 |
143 |
|
化学 |
120 |
3.实现思路及步骤
(1)在Mapper类中,mapi 两数资取成绩表人中的数据,在技将读取的数据以空格(参 和服中的格式)分部,级健值对科良源即设发物出健值对类强为 <Text,IntWitable>
(2)在 Reducer中, 由于mp所数输出健值对为想是Tat hwnhe.所以Reise fnw 针对相同的健(即科目1,遍历比较它的值 terable AntWiuble 接收的键值对是-Tet. henbie 最后输出健值对科目,最高成绩>。 (即成绩),找出最高值(即最高成绩)。
4.实训要求:
参考实训1程序代码,完成获取成绩表的最高分记录编程,将代码复制如下,结果截图到下面。参考文章:https://blog.csdn.net/meiLin_Ya/article/details/80811698
实训任务05 MapReduce获取成绩表的最高分记录的更多相关文章
- 实训任务04 MapReduce编程入门
实训任务04 MapReduce编程入门 1.实训1:画图mapReduce处理过程 使用有短句“A friend in need is a friend in deed”,画出使用MapReduce ...
- Mysql实训任务书
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6635189537079296526/ 什么是数据库:数据库(Database)是按照数据结构来组织.存储和管理数据 ...
- MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录
今天第一次用MySQL的触发器,怕忘了,赶紧写篇博客记录一下. 废话不说,先上语法: 1 CREATE TRIGGER trigger_name 2 { BEFORE | AFTER } { INSE ...
- 实训任务03: 使用Eclipse创建MapReduce工程
实训任务03: 使用Eclipse创建MapReduce工程 实训1: win7中使用Eclipse创建MapReduce工程 实训2:Centos 6.8系统中安装Eclipse 一.下载Eclip ...
- UML基础与Rose建模实训教程
目 录 第1章 初识UML. 1 1.1 初识UML用例图... 1 1.2 初识UML类图... 3 第2章 Rational Rose工具... 6 2.1 安装与配置Rational Ro ...
- Python实现MapReduce,wordcount实例,MapReduce实现两表的Join
Python实现MapReduce 下面使用mapreduce模式实现了一个简单的统计日志中单词出现次数的程序: from functools import reduce from multiproc ...
- 软件工程实训项目案例--Android移动应用开发
实训过程 角色分工 1.项目经理:负责项目的组织实施,制定项目计划,并进行跟踪管理 2.开发人员:对项目经理及项目负责 3.需求分析员:负责系统的需求获取和分析,并协助设计人员进行系统设计 4.系统设 ...
- Android实训案例(二)——Android下的CMD命令之关机重启以及重启recovery
Android实训案例(二)--Android下的CMD命令之关机重启以及重启recovery Android刚兴起的时候,着实让一些小众软件火了一把,切水果,Tom猫,吹裙子就是其中的代表,当然还有 ...
- Hadoop案例(七)MapReduce中多表合并
MapReduce中多表合并案例 一.案例需求 订单数据表t_order: id pid amount 1001 01 1 1002 02 2 1003 03 3 订单数据order.txt 商品信息 ...
随机推荐
- cookie应用——UI中查询条件的保存
var cookieOperate = { cookieNames: { companyCNName:"_companyCNName", companyENName:"_ ...
- Java 连接 MySQL 数据库
最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...
- Java的异常机制
Java的异常机制 (一)异常的概念 异常是指程序在编译或运行时出现的导致程序不能继续编译或运行的状况.. (二)Throwable类 Throwable类继承自Object类,是Java中所有错误或 ...
- 关于display的属性:block和inline-block以及inline的区别,float相关说明
首先是block和inline的区别,说通俗点block就是让其形成块级元素,而且其前后都会有换行符:而inline的话就是让元素设置为内联样式(对其设置的宽高都没有什么卵用,不产生效果,但是颜色效果 ...
- 2018.11.30开始学习shader
学习资料: 乐乐女神的<unity Shader入门精要>
- Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app
出现的问题: Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency ...
- 实验七 《FBG》—-小学生课后习题答案原型设计
一.实验目的与要求 1.掌握软件原型开发技术 2.学习使用软件原型开发工具 二.实验内容与步骤 1.开发工具: 使用的工具:墨刀(APP端开发原型) 工具简介: 墨刀(MockingBot)是一款简单 ...
- Python 入门小实例笔记
实例1:打印用户输入的姓名与手机号码知识点:编码,获取输入,变量,标准输出 #encoding=utf-8 import time #1.提示用户输入信息 name = input ("请输 ...
- PHP json_decode为什么将json字符串转成数组是对象格式?
eg. $a='[{\"img\":\"/uploads/agency/carimgs/5/15515954778091.jpg\"},{\"img\ ...
- EF6中执行Sql语句
EF中提供了两个方法,一个是执行查询的Sql语句SqlQuery,另外一个是执行非查询的语句ExecuteSqlCommand.SqlQuery有两种形式的,一种是泛型的,一种是非泛型的.比如我们要在 ...