实验目的
- 理解MapReduce编程思想与编程流程
根据实际需求编写MapReduce程序处理数据, 并使用Lab4搭建好的Hadoop集群运行结果
实验步骤
1. 启动Hadoop完全分布式平台
启动Hadoop集群并验证启动成功
如果Lab4没有安装成功Hadoop完全分布式, 可以到助教处拷贝已经安装好Hadoop环境的虚拟机镜像
2. 将data.txt数据上传至HDFS
data.txt
数据格式如下: 每行一共有五个字段, 第一个字段代表学生姓名, 第二至五字段代表学生的语文, 数学, 英语和理综成绩, 每个字段用逗号分隔urSsIKNqhW,37,135,138,242
LuPlNhFnOt,25,67,141,298
mkkWYDFLbd,87,39,90,131
ICvKmksoAr,143,22,9,7
bPRsclCNeh,125,137,52,36
fwtXFRsWyw,28,40,9,68
KDLvCvvsDp,111,75,21,246
pYzYyibcpR,51,136,89,134
czniNakank,96,1,124,214
3. 编写MapReduce程序处理数据
结果输出格式:
Student name: 学生姓名, Student score: 学生总分
结果按学生总分从小到大排列, 如果两个学生总分相同, 则按学生姓名每个字符ASCII码大小从小到大排列(不存在学生姓名相同的情况)
Student name: igcJRwisWj, Student score: 406
Student name: qSYJkmnBMe, Student score: 406
Student name: wHDdwcKNDM, Student score: 406
Student name: GLlnHyGouj, Student score: 407
Student name: RwTfSoSxYR, Student score: 407
Student name: HBgSVMSHhI, Student score: 408
Student name: MFHFQYheje, Student score: 408
Student name: vJwEUZagCO, Student score: 408
Student name: EmDhNrCltp, Student score: 409
Student name: LFfDPupcBW, Student score: 409
Student name: UBeQLqEPkA, Student score: 409
Student name: VBRePplelG, Student score: 409
Student name: iUBANmQAle, Student score: 409
4. 使用Maven打包程序并在Hadoop完全分布式平台上运行
$ ./bin/hadoop jar your_filename.jar your_main_class_path
实验结果提交
DDL: TBA
请提交zip文件包含以下两个内容, 并以MRLab_YourName.zip命名README文件, 包含:
- 程序整体逻辑
- 程序如何运行
- 程序运行结果
- 必要的截图, 遇到的问题, 如何解决的 (没遇到问题可以不写)
- 源代码文件
- 规范编写代码
- 必要的注释
- 排完序之后的结果文件
评分量规
| 评分项 | 分数 | | —- | —- | | MapReduce代码源文件规范编写, 逻辑清晰 | 50 | | Maven打包并成功运行 | 20 | | 实验报告 | 20 | | 排序结果正确性 | 10 |