2024年全国职业院校技能大赛中职组《大数据应用与服务赛项》赛项赛题解析第一模块

 职业院校技能大赛 大数据应用与服务交流群:q743959419

 

目录

 职业院校技能大赛 大数据应用与服务交流群:q743959419

模块一:平台搭建与运维 

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

子任务一:Hadoop 完全分布式安装配置

子任务二:Flume安装配置

(二)任务二:数据库配置维护

子任务一:数据库配置

子任务二:数据库表维护

子任务三:数据表查询


  • 模块一:平台搭建与运维 

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

  1. 子任务一:Hadoop 完全分布式安装配置

本任务需要使用 root 用户完成相关配置。打开竞赛平台的赛题资源的容器资源,利用智联助手的SSH集成窗口打开容器,基于竞赛平台进行完全分布式模式Hadoop的搭建和管理。相关安装文件在容器“/opt”目录下,请选择对应的安装包进行安装,用不到的可忽略。主机名为master、slave1、slave2的三台节点都需要安装JDK和Hadoop。

  1. master节点执行命令,创建jdk安装目录“/data/jdk”和Hadoop安装目录“/data/hadoop”,执行ls命令查看创建的目录提交创建目录的命令查看的结果截图

创建目录的命令:

mkdir /data/jdk –p

mkdir /data/hadoop –p

查看的结果截图:

  1. master节点执行tar命令(请确保在解压缩文件时,不要保留原始文件路径中的第一个目录层级),将节点中“/opt”目录下jdk安装文件解压到节点中的“/data/jdk”目录,将Hadoop安装文件解压到节点中的“/data/hadoop”目录,执行ls命令分别查看解压后的文件提交解压命令查看的结果截图

解压命令:

tar -zxf /opt/jdk-8u181-linux-x64.tar.gz --strip-components 1 -C /data/jdk/

tar -zxf /opt/hadoop-3.1.3.tar.gz --strip-components 1 -C /data/hadoop/

查看的结果截图

  1. 在三台节点分别修改“/etc/hosts”配置,添加三台节点ip和主机名映射配置 ssh 免密,实现master、slave1、slave2三台节点间相互免密登录,在master节点执行“ssh slave1”命令和在slave2节点执行“ssh master”命令验证。提交/etc/hosts”配置截图、在master执行的免密命令执行结果截图验证命令结果截图 

 

/etc/hosts”配置截图:

master执行的免密命令:

ssh-keygen -t rsa

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2

免密命令执行结果截图

验证命令结果截图

  1. master节点使用scp命令并使用绝对路径将jdk目录拷贝到slave1和slave2(若路径不存在,则需新建),并在三台节点的“/etc/profile”文件中配置jdk环境变量使其生效,配置完毕后,在节点中执行“java -version”命令,检测jdk是否安装成功。提交scp命令环境变量截图和使环境变量生效命令检测命令结果截图

scp命令:

scp -r /data/jdk/ slave1:/data/jdk/ &

scp -r /data/jdk/ slave2:/data/jdk/ &

环境变量截图:

环境变量生效命令:

source /etc/profile

检测命令结果截图:

  1. 依次配置hadoop-env.sh、core-site.xml、workers配置文件,其中NameNode的地址为master节点,端口为9000,master、slave1、slave2节点均作为DataNode,配置好相关环境。在master节点使用scp命令将配置完的Hadoop安装目录直接拷贝至slave1和slave2(若路径不存在,则需新建),在三台节点的“/etc/profile”文件中配置Hadoop环境变量,配置完毕后,在容器中执行“hadoop version”命令,检测Hadoop是否安装成功。提交修改的配置内容截图scp命令环境变量截图检测命令结果截图

修改的配置内容截图:

scp命令:

scp -r /data/hadoop/ slave1:/data/hadoop/ &

scp -r /data/hadoop/ slave2:/data/hadoop/ &

环境变量截图:

检测命令结果截图:

  1. master节点初始化Hadoop环境namenode提交初始化命令结果截图

初始化命令:

hdfs namenode –format

结果截图:

  1. master节点依次启动HDFS、YARN集群,在三个节点分别执行jps命令,查看节点中的进程。提交jps查看结果截图

jps查看结果截图:

将上述任务的命令和结果截图提交到竞赛平台的赛题结果上传中对应的任务序号下。

  1. 子任务二:Flume安装配置

本任务需要使用root用户完成相关配置,已安装Hadoop

及需要配置前置环境,具体要求如下:

  1. ?节点中执行命令,创建Flume安装目录“/data/flume”,执行ls命令查看创建的目录提交创建目录命令查看命令结果截图

创建目录命令:

mkdir /data/flume -p

查看命令:

ls /data/

结果截图

  1. 在节点中执行tar命令(请确保在解压缩文件时,不要保留原始文件路径中的第一个目录层级),将“/opt”目录下Flume安装文件解压到节点中的“/data/flume”目录,在“/etc/profile”文件中配置Flume环境变量FLUME_HOME和PATH的值使其生效执行命令flume-ng version”检测Flume是否安装成功。提交解压命令环境变量截图检测命令结果截图

解压命令

tar -zxf /opt/apache-flume-1.9.0-bin.tar.gz --strip-components 1 -C /data/flume/

环境变量截图

检测命令结果截图

  1. 进入$FLUME_HOME/conf目录下,使用cp命令将flume-env.sh.template文件复制一份,并重命名为flume-env.sh;在$FLUME_HOME目录下新建一份test.txt文件,在文件中输入内容“这是一份flume的测试文档”,在$FLUME_HOME/conf目录下新建file-flume-hdfs.conf,配置flume将test.txt传输到HDFS的“/tmp/flume”目录下,运行Flume并查看HDFS中“/tmp/flume”目录下生成的内容。提交cp命令file-flume-hdfs.conf配置内容截图运行Flume的命令查看HDFS目录中文件的内容的命令结果截图

cp命令

cp flume-env.sh.template flume-env.sh

file-flume-hdfs.conf配置内容截图

运行Flume的命令

flume-ng agent -n a1 -c conf/ -f conf/file-flume-hdfs.conf

查看HDFS目录中文件的内容的命令:

hdfs dfs -cat /tmp/flume/FlumeData.1709549831479

查看HDFS目录中文件的内容的命令的结果截图:

将上述任务的命令和结果截图提交到竞赛平台的赛题结果上传中对应的任务序号下。

(二)任务二:数据库配置维护

  1. 子任务一:数据库配置

打开竞赛平台的赛题资源的数据库资源,利用智联助手的SSH集成窗口打开master节点,基于竞赛平台进行MySQL的搭建和管理。具体要求如下:

  1. 在赛题资源的数据库资源对应的ip的节点中执行命令,创建MySQL安装目录“/data/mysql”;执行tar命令,将容器中“/opt”目录下Mysql安装文件解压到“/data/mysql”目录,执行ls命令查看解压后的文件提交tar命令ls结果截图

tar命令

tar -zxf /opt/mysql-5.7.37-el7-x86_64.tar.gz --strip-components 1 -C /data/mysql/

ls结果截图:

  1. 安装好MySQL后,对数据库进行初始化,将$MYSQL/bin目录下的mysql脚本创建软链到/usr/bin目录,在/etc/systemd/system目录中配置mysql.service,配置开机自启动并启动数据库。提交初始化命令创建软链命令mysql.service配置内容截图配置自启动命令启动数据库结果截图

初始化命令

/data/mysql/bin/mysqld --initialize-insecure --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql

创建软链命令

ln -s /data/mysql/bin/mysql /usr/bin/

mysql.service配置内容截图

配置自启动命令

systemctl enable mysql

启动数据库结果截图:

(3)使用root用户和密码登录MySQL,然后将root用户的密码修改为赛题资源的数据库资源的密码,配置授予root用户在任何主机('%')上连接时对所有数据库(*.*)的全部权限,并允许该用户授予权限给其他用户,配置完刷新权限。提交修改密码sql语句和结果截图、配置授予权限sql语句和结果截图;

alter user 'root'@'localhost' identified by '3dF8vS2l';

grant all privileges on *.* to 'root'@'%' with grant option;

(4)连接数据库,先用sql创建一个“exam”数据库(字符集设置utf8mb4),再创建一个“test”新用户,密码与root密码一致,将“exam”数据库权限授予“test”用户,刷新权限后用“test”账号登录数据库,执行“show databases;”命令查看数据库。提交创库sql语句、建用户语句、授权语句、“show databases;”的结果截图;

create database exam DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

create user 'test'@'%' identified by '3dF8vS2l';

grant all privileges on exam.* to 'test'@'%';

(5)将“test”用户删除。提交删除语句;

将上述任务的命令和结果截图提交到竞赛平台的赛题结果上传中对应的任务序号下。

  1. 子任务二:数据库表维护

打开竞赛平台的赛题资源的数据库资源,利用智联助手的数据库工具打开“exam”数据库,基于竞赛平台进行MySQL的数据库表维护。

(1)在MySQL数据库的“exam”数据库中创建“athlete_events”数据表。数据表的表字段格式如下:

表1“athlete_events”的表字段结构            

字段

类型

注释

Name

varchar

名称

Sex

varchar

性别

Age

int

年龄

Height

int

身高

Weight

int

体重

Games

varchar

赛事

City

varchar

城市

Event

varchar

比赛项目

Medal

varchar

奖牌

提交建表sql语句和结果截图;

CREATE TABLE athlete_events (

    Name VARCHAR(255) COMMENT '名称',

    Sex VARCHAR(10) COMMENT '性别',

    Age INT COMMENT '年龄',

    Height INT COMMENT '身高',

    Weight INT COMMENT '体重',

    Games VARCHAR(255) COMMENT '赛事',

    City VARCHAR(255) COMMENT '城市',

    Event VARCHAR(255) COMMENT '比赛项目',

    Medal VARCHAR(50) COMMENT '奖牌'

);

(2)为“athlete_events”表添加数据记录。记录如下:

Name

Sex

Age

Height

Weight

Games

City

Event

Medal

Cao Yuan

M

21

160

42

2016 Summer

Rio de Janeiro

Diving Men's Springboard

Gold

Chen Aisen

M

20

168

60

2016 Summer

Rio de Janeiro

Diving Men's Platform

Gold

Chen Long

M

27

188

81

2016 Summer

Rio de Janeiro

Badminton Men's Singles

Gold

Chen Peina

F

27

172

63

2016 Summer

Rio de Janeiro

Sailing Women's Windsurfer

Silver

Chen Dequan

M

18

176

66

2014 Winter

Sochi

Short Track Speed Skating Men's 5,000 metres Relay

Bronze

Jia Zongyang

M

22

175

70

2014 Winter

Sochi

Freestyle Skiing Men's Aerials

Bronze

Cai Yun

M

32

181

68

2012 Summer

London

Badminton Men's Doubles

Gold

Zou Kai

M

24

158

55

2012 Summer

London

Gymnastics Men's Team All-Around

Gold

Zhou Lulu

F

24

175

133

2012 Summer

London

Weightlifting Women's Super-Heavyweight

Gold

Zhang Jike

M

24

178

70

2012 Summer

London

Table Tennis Men's Singles

Gold

Guo Xinxin

F

26

157

60

2010 Winter

Vancouver

Freestyle Skiing Women's Aerials

Bronze

Li Nina

F

27

160

52

2010 Winter

Vancouver

Freestyle Skiing Women's Aerials

Silver

Bao Yingying

F

24

172

67

2008 Summer

Beijing

Fencing Women's Sabre, Team

Silver

Feng Kun

F

29

183

75

2008 Summer

Beijing

Volleyball Women's Volleyball

Bronze

Han Xiaopeng

M

22

173

75

2006 Winter

Torino

Freestyle Skiing Men's Aerials

Gold

Chen Jing

F

28

182

75

2004 Summer

Athina

Volleyball Women's Volleyball

Gold

Chen Zhong

F

21

183

73

2004 Summer

Athina

Taekwondo Women's Heavyweight

Gold

Zhao Hongbo

M

28

177

75

2002 Winter

Salt Lake City

Figure Skating Mixed Pairs

Bronze

Cai Yalin

M

23

174

60

2000 Summer

Sydney

Shooting Men's Air Rifle, 10 metres

Gold

Chen Xiaomin

F

23

158

63

2000 Summer

Sydney

Weightlifting Women's Middleweight

Gold

Chen Lu

F

21

162

52

1998 Winter

Nagano

Figure Skating Women's Singles

Bronze

He Qi

F

22

178

68

1996 Summer

Atlanta

Volleyball Women's Volleyball

Silver

Lu Lin

M

27

174

60

1996 Summer

Atlanta

Table Tennis Men's Doubles

Silver

Li Xiaoshuang

M

22

157

52

1996 Summer

Atlanta

Gymnastics Men's Individual All-Around

Gold

Ye Qiaobo

F

29

168

70

1994 Winter

Lillehammer

Speed Skating Women's 1,000 metres

Bronze

提交第一条数据的插入sql语句及所有数据添加结果截图;

insert into athlete_events values

('Cao Yuan','M',21,160,42,'2016 Summer','Rio de Janeiro',"Diving Men's Springboard",'Gold')

  1. 新增“Year”字段(int),注释为“年份”,将“Games”字段中的年份数字提取到“Year”字段,并查询“Year”在2001年到2009年之间的数据。提交新增字段sql和结果截图、提取年份sql、查询的sql和结果截图;

alter table athlete_events

add Year int;

UPDATE athlete_events

SET Year = CAST(REGEXP_SUBSTR(Games, '[0-9]+') AS UNSIGNED)

WHERE Year IS NULL OR Year <> CAST(REGEXP_SUBSTR(Games, '[0-9]+') AS UNSIGNED);

将上述任务的命令和结果截图提交到竞赛平台的赛题结果上传中对应的任务序号下。

子任务数据表查询

(1)筛选出比赛项目为“Volleyball Women's Volleyball”且身高大于“180”的数据,并按照年份“Year”进行升序排序。提交sql和结果截图;
select * from athlete_events ae

where Event = "Volleyball Women's Volleyball"

and Height > 180

order by `Year` asc;

  1. 查询2016年参赛人员年龄、身高和体重各自的最大值、最小值和平均值。提交sql和结果截图;
    select

max(Age),

min(Age),

avg(Age),

max(Height),

min(Height),

avg(Height),

max(Weight),

min(Weight),

avg(Weight)

from athlete_events ae where 2016;

  1. 按年份分组查询每年参赛人员的男女人数各多少。提交sql和结果截图;

SELECT

    Year,

    Sex,

    COUNT(*) AS renshu

FROM

    athlete_events

GROUP BY

    Year,

    Sex

将上述任务的命令和结果截图提交到竞赛平台的赛题结果上传中对应的任务序号下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值