实验目的

  • 理解MapReduce编程思想与编程流程
  • 根据实际需求编写MapReduce程序处理数据, 并使用Lab4搭建好的Hadoop集群运行结果

    实验步骤

    1. 启动Hadoop完全分布式平台

  • 启动Hadoop集群并验证启动成功

  • 如果Lab4没有安装成功Hadoop完全分布式, 可以到助教处拷贝已经安装好Hadoop环境的虚拟机镜像

    2. 将data.txt数据上传至HDFS

  • data.txt数据格式如下: 每行一共有五个字段, 第一个字段代表学生姓名, 第二至五字段代表学生的语文, 数学, 英语和理综成绩, 每个字段用逗号分隔

    1. urSsIKNqhW,37,135,138,242
    2. LuPlNhFnOt,25,67,141,298
    3. mkkWYDFLbd,87,39,90,131
    4. ICvKmksoAr,143,22,9,7
    5. bPRsclCNeh,125,137,52,36
    6. fwtXFRsWyw,28,40,9,68
    7. KDLvCvvsDp,111,75,21,246
    8. pYzYyibcpR,51,136,89,134
    9. czniNakank,96,1,124,214

    3. 编写MapReduce程序处理数据

  • 结果输出格式: Student name: 学生姓名, Student score: 学生总分

  • 结果按学生总分从小到大排列, 如果两个学生总分相同, 则按学生姓名每个字符ASCII码大小从小到大排列(不存在学生姓名相同的情况)

    1. Student name: igcJRwisWj, Student score: 406
    2. Student name: qSYJkmnBMe, Student score: 406
    3. Student name: wHDdwcKNDM, Student score: 406
    4. Student name: GLlnHyGouj, Student score: 407
    5. Student name: RwTfSoSxYR, Student score: 407
    6. Student name: HBgSVMSHhI, Student score: 408
    7. Student name: MFHFQYheje, Student score: 408
    8. Student name: vJwEUZagCO, Student score: 408
    9. Student name: EmDhNrCltp, Student score: 409
    10. Student name: LFfDPupcBW, Student score: 409
    11. Student name: UBeQLqEPkA, Student score: 409
    12. Student name: VBRePplelG, Student score: 409
    13. Student name: iUBANmQAle, Student score: 409

    4. 使用Maven打包程序并在Hadoop完全分布式平台上运行

    1. $ ./bin/hadoop jar your_filename.jar your_main_class_path

    实验结果提交

    DDL: TBA
    请提交zip文件包含以下两个内容, 并以MRLab_YourName.zip命名

  • README文件, 包含:

    • 程序整体逻辑
    • 程序如何运行
    • 程序运行结果
    • 必要的截图, 遇到的问题, 如何解决的 (没遇到问题可以不写)
  • 源代码文件
    • 规范编写代码
    • 必要的注释
  • 排完序之后的结果文件

    评分量规

    | 评分项 | 分数 | | —- | —- | | MapReduce代码源文件规范编写, 逻辑清晰 | 50 | | Maven打包并成功运行 | 20 | | 实验报告 | 20 | | 排序结果正确性 | 10 |