省赛样题2

2024-2025学年广东省职业院校技能大赛

中职组大数据应用与服务赛项

2

一、背景描述

大数据时代背景下,教育行业正在经历深刻的变革。在传统教育模式中,教学过程往往依赖教师的经验判断,缺乏对学习者行为的深入理解和精准分析。而在线教育平台的兴起,为教育领域带来了全新的可能。通过收集和分析学习者在平台上的行为数据,如课程选择、学习进度、作业完成情况、互动参与度等,可以更准确地把握学习者的需求和学习特点。平台能够根据用户的学习轨迹、知识掌握程度、学习时长等数据,建立个性化的学习档案,为每位学习者提供更有针对性的课程推荐和学习建议。

因数据驱动的大数据时代已经到来,在线教育平台需要通过数据分析来提供更优质的教育服务。为完成在线教育平台的大数据分析工作,你所在的小组将应用大数据技术,通过Python语言以数据采集为基础,将采集的数据进行相应处理,并且进行数据标注、数据分析与可视化、通过大数据业务分析方法实现相应数据分析。运行维护数据库系统保障存储数据的安全性。通过运用相关大数据工具软件解决具体业务问题。你们作为该小组的技术人员,请按照下面任务完成本次工作。

二、模块一:平台搭建与运维

__(一)任务一:大数据平台搭建 __

1.子任务一:基础环境准备

本任务需要使用 root 用户完成相关配置,安装 Hadoop 需要配置前置环境。命令中要求使用绝对路径,具体要求如下:

(1)配置三个节点的主机名,分别为 master、slave1、slave2,然后修改三个节点的 hosts 文件,使得三个节点之间可以通过主机名访问,在 master上将执行命令 cat /etc/hosts 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;

(2)将 /opt/software 目录下将文件 jdk-8u191-linux-x64.tar.gz 安装包解压到 /opt/module 路径中,将 JDK 解压命令复制并粘贴至【提交结果.docx】中对应的任务序号下;

(3)在 /etc/profile 文件中配置 JDK 环境变量 JAVA_HOME 和 PATH 的值,并让配置文件立即生效,将在 master上 /etc/profile 中新增的内容复制并粘贴至【提交结果.docx】中对应的任务序号下;

(4)查看 JDK 版本,检测 JDK 是否安装成功,在 master 上将执行命令java -version 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;

(5)创建 hadoop 用户并设置密码,为 hadoop 用户添加管理员权限。在 master 上将执行命令 grep ‘hadoop’ /etc/sudoers 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;

(6)关闭防火墙,设置开机不自动启动防火墙,在 master 上将执行命令 systemctl status firewalld 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;

(7)配置三个节点的 SSH 免密登录,在 master 上通过 SSH 连接 slave1 和 slave2 来验证。

2.子任务二:Hadoop 完全分布式安装配置

本任务需要使用 root 用户和 hadoop 用户完成相关配置,使用三个节点完成 Hadoop 完全分布式安装配置。命令中要求使用绝对路径,具体要求如下:

(1)在 master 节点中的 /opt/software 目录下将文件 hadoop-3.3.6.tar.gz 安装包解压到 /opt/module 路径中,将 hadoop 安装包解压命令复制并粘贴至【提交结果.docx】中对应的任务序号下;

(2)在 master 节点中将解压的 Hadoop 安装目录重命名为 hadoop,并修改该目录下的所有文件的所属者为 hadoop,所属组为 hadoop,将修改所属者的完整命令复制并粘贴至【提交结果.docx】中对应的任务序号下;

(3)在 master 节点中使用 hadoop 用户依次配置 hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、masters 和 workers 配置文件,Hadoop集群部署规划如下表,将 yarn-site.xml 文件内容复制并粘贴至【提交结果.docx】中对应的任务序号下;

服务器 master slave1 slave2
HDFS NameNode
HDFS SecondaryNameNode
HDFS DataNode DataNode DataNode
YARN ResourceManager
YARN NodeManager NodeManager NodeManager
历史日志服务器 JobHistoryServer

(4)在 master 节点中使用 scp 命令将配置完的 hadoop 安装目录直接拷贝至 slave1 和 slave2 节点,将完整的 scp 命令复制并粘贴至【提交结果.docx】中对应的任务序号下;

(5)在 slave1 和 slave2 节点中将 hadoop 安装目录的所有文件的所属者为 hadoop,所属组为 hadoop。

(6)在三个节点的 /etc/profile 文件中配置 Hadoop 环境变量 HADOOP_HOME 和 PATH 的值,并让配置文件立即生效,将 master 节点中 /etc/profile 文件新增的内容复制并粘贴至【提交结果.docx】中对应的任务序号下;

(7)在 master 节点中初始化 Hadoop 环境 namenode,将初始化命令及初始化结果(截取初始化结果日志最后 20 行即可)粘贴至【提交结果.docx】中对应的任务序号下;

(8)在 master 节点中依次启动HDFS、YARN集群和历史服务。在 master 上将执行命令 jps 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;

(9)在 slave1 查看 Java 进程情况。在 slave1上将执行命令 jps 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下。

(二)任务二:数据库服务器的安装与运维

1. 子任务一:MySQL 安装配置

本任务需要使用 rpm 工具安装 MySQL 并初始化,具体要求如下:

(1)在 master 节点中的 /opt/software 目录下将 MySQL 5.7.44 安装包解压到 /opt/module 目录下;

(2)在 master 节点中使用 rpm -ivh 安装 mysql-community-common、mysql-community-libs、mysql-community-libs-compat、mysql-community-client 和 mysql-community-server 包,将所有命令复制粘贴至【提交结果.docx】中对应的任务序号下;

(3)在 master 节点中启动数据库系统并初始化 MySQL 数据库系统,将完整命令复制粘贴至【提交结果.docx】中对应的任务序号下。

2. 子任务二:MySQL 运维

本任务需要在成功安装 MySQL 的前提下,对 MySQL 进行运维操作,具体要求如下:

(1)配置服务端 MySQL 数据库的远程连接,将新增的配置内容复制粘贴至【提交结果.docx】中对应的任务序号下;

(2)配置 root 用户允许任意 IP 连接,将完整命令复制粘贴至【提交结果.docx】中对应的任务序号下;

(3)通过 root 用户登录 MySQL 数据库系统,查看 mysql 库下的所有表,将完整命令及执行命令后的结果复制粘贴至【提交结果.docx】中对应的任务序号下;

(4)创建新用户 eduadmin 并设置密码,将完整命令及执行命令后的结果复制粘贴至【提交结果.docx】中对应的任务序号下;

(5)创建数据库 education 并设置正确的字符集,将完整命令及执行命令后的结果复制粘贴至【提交结果.docx】中对应的任务序号下;

(6)授予 eduadmin 用户对学习数据库的查询权限,将完整命令及执行命令后的结果复制粘贴至【提交结果.docx】中对应的任务序号下;

(7)刷新权限,将完整命令及执行命令后的结果复制粘贴至【提交结果.docx】中对应的任务序号下。

3. 子任务三:数据表的创建及维护

(1)根据以下数据字段在 education 数据库中创建课程表(course)。课程表字段如下:

字段 类型 中文含义 备注
id int 课程编号 主键
course_name varchar 课程名称
category varchar 课程类别
level varchar 难度等级
duration int 课程时长(分钟)
price decimal 课程价格
instructor varchar 讲师姓名
avg_rating float 平均评分
enrollment_count int 报名人数

(2)根据以下数据字段在 education 数据库中创建学习记录表(learning_record)。学习记录表字段如下:

字段 类型 中文含义 备注
id int 记录编号 主键
user_id int 用户ID
course_id int 课程ID
watch_duration int 观看时长(分钟)
completion_rate float 完成率
last_watch_time datetime 最后观看时间
quiz_score float 测验得分
study_duration int 学习时长(分钟)

将这两个 SQL 建表语句分别复制粘贴至【提交结果.docx】中对应的任务序号下。

(3)编写下列 SQL 查询语句:

  • 查询每门课程的平均完成率

  • 统计每个课程类别的总报名人数

  • 查找观看时长超过课程时长的学习记录

将这三个 SQL 语句分别复制粘贴至【提交结果.docx】中对应的任务序号下。