2024年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…
武汉唯众智创科技有限公司
2024 年 3 月
联系人:辜渝傧13037102709
题号:试题05
ZZ052-大数据应用与服务赛项试题 05
模块一:平台搭建与运维
(一)任务一:大数据平台搭建
1.子任务-:Zookeeper 集群安装配置
本任务需要使用 root 用户完成相关配置,具体要求如下
(1)在master 节点将/usr/1oca1/src 目录下的apache-zookeeper-3.5.7-bin.tar.gz包解压到/opt 路径下,将完整命令截图粘贴到对应答题报告中;
答:
tar zxf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module
tar zxf /opt/s拷贝到 slave1、slave2oftware/kafka_2.12-2.4.1.tgz -C /opt/module
Zookeeper配置:
cp /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo_sample.cfg /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo.cfg
vim conf/zoo.cfg
dataDir=/opt/module/apache-zookeeper-3.5.7-bin/data
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
mkdir /opt/module/apache-zookeeper-3.5.7-bin/data
cd data/
echo 1 > myid
(2)在 master 节点上面将配置的 Zookeeper 环境变量文件及 Zookeeper 解压包拷贝到 slave1、slave2 节点,将命令和结果截图粘贴到对应答题报告中;
答:
scp -r /opt/module/apache-zookeeper-3.5.7-bin root@slave1:/opt/module/
scp -r /opt/module/apache-zookeeper-3.5.7-bin root@slave2:/opt/module/
(3)将 slave1节点上面/opt/zookeeper-3.5.7/data目录下的 myid 文件内容修改为 2,将 slave2 节点上面/opt/zookeeper-3.5.7/data目录下的myid 文件内容修改为3,将命令和结果截图粘贴到对应答题报告中;
答:
修改其他机器的myid文件,slave1改为2,slave2改为3
(4)在 master 节点、slavel 节点、slave2 节点分别启动 zookeeper,将命令和结果截图粘贴到对应答题报告中:
答:
zkServer.sh start
2.子任务二:Hadoop 完全分布式集群搭建
本任务需要使用 root 用户完成相关配置,安装 Hadoop需要配置前置环境。命令中要求使用绝对路径,具体要求如下:
(1)在master 节点将/usr/loca1/src 目录下的hadoop-3.1.3.tar.gz包解压到/opt 路径下,将完整命令截图粘贴到对应答题报告中;
答:
tar zxvf hadoop-3.2.1.tar.gz -C /opt/module/
(2)在 master 节点修改/root/.bash-profile 文件,设置Hadoop环境变量,将环境变量配置内容截图粘贴到对应答题报告中;
答:
hadoop-env.sh:
export JAVA_HOME=/opt/module/jdk1.8.0
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
core-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<property><name>fs.defaultFS</name><value>hdfs://master:9000</value>
</property>
<!-- 临时文件存放位置 -->
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.2.1/hadoopDatas/tempDatas</value>
</property>
(3)在 master 节点上面修改 Hadoop 的配置文件hdfs-site.xm1,需要在该文件中指定上传的文件的副本数为3,将修改的内容截图粘贴到对应答题报告中;
答:
hdfs-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<!-- 设置副本数量 -->
<property><name>dfs.replication</name><value>2</value>
</property>
<!-- namenode存放的位置,老版本是用dfs.name.dir -->
<property><name>dfs.namenode.name.dir</name><value>/opt/module/hadoop-3.2.1/hadoopDatas/namenodeDatas</value>
</property>
<!-- datanode存放的位置,老版本是dfs.data.dir -->
<property><name>dfs.datanode.data.dir</name><value>/opt/module/hadoop-3.2.1/hadoopDatas/datanodeDatas/</value>
</property>
<!-- 关闭文件上传权限检查 -->
<property><name>dfs.permissions.enalbed</name><value>false</value>
</property>
<!-- namenode运行在哪儿节点,默认是0.0.0.0:9870,在hadoop3.x中端口从原先的50070改为了9870 -->
<property><name>dfs.namenode.http-address</name><value>master:9870</value>
</property>
<!-- secondarynamenode运行在哪个节点,默认0.0.0.0:9868 -->
<property><name>dfs.namenode.secondary.http-address</name><value>master:9868</value>
</property>
(4)在 master 节点上面修改 Hadoop 的配置文件需要在该文件中指定YARN 的yarn-site.xml,ResourceManager的地址为slave2,将修改的内容截图粘贴到对应答题报告中;
答:
mapred-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<!-- 设置mapreduce在yarn平台上运行 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
<!-- 配了上面这个下面这个也得配, 不然跑mapreduce会找不到主类。MR应用程序的CLASSPATH-->
<property><name>mapreduce.application.classpath</name><value>/opt/module/hadoop-3.2.1/share/hadoop/mapreduce/*:/opt/module/hadoop-3.2.1/share/hadoop/mapreduce/lib/*</value>
</property>
<!-- 历史服务器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>master:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value>
</property>
yarn-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<!-- resourcemanager运行在哪个节点 -->
<property><name>yarn.resourcemanager.hostname</name><value>master</value>
</property>
<!-- nodemanager获取数据的方式 -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<!-- 关闭虚拟内存检查 -->
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>workers:
# 删掉里面的localhost,添加以下内容
master
slave1
slave2
(5)在 master 节点上面将配置的 Hadoop 环境变量文件及 Hadoop 解压包拷贝到slave1、slave2 节点,将命令和结果截图粘贴到对应答题报告中;
答:
scp -r /opt/module/hadoop-3.2.1 root@slave1:/opt/module/
scp -r /opt/module/hadoop-3.2.1 root@slave2:/opt/module/
(6)在master节点上面初始化 Hadoop 环境 namenode,将初始化命令及初始化结果截图粘贴到对应答题报告中;
答:
hdfs namenode -format
(7)启动 Hadoop 集群(在master 节点启动 hdfs,在slave2节点启动 yarn),使用 ips 查看 master 节点、slave1节点、slave2节点的进程,将查看结果截图粘贴到对应答题报告中。
答:
start-all.sh
mapred --daemon start historyserver(mr-jobhistory-daemon.sh start historyserver)
3.子任务三:Hive 安装配置
本任务需要使用 root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下
(1)在master 节点将/usr/loca1/src 目录下的apache-hive-3.1.2-bin.tar.gz安装包解压到/opt 路径下将完整命令截图粘贴到对应答题报告中:
答:
tar zxf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
(2)修改 hive-site.xm1 配置文件,将 MySOL 数据库作为 Hive 元数据库。将配置 Hive 元数据库的相关内容截图粘贴到对应答题报告中;
答:
vi /etc/profile
export HIVE_HOME=/opt/module/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
hive --version
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
HADOOP_HOME=/opt/module/hadoop-3.2.1
export HIVE_CONF_DIR=/opt/module/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/opt/module/apache-hive-3.1.2-bin/lib
(3)将/usr/1oca1/src 目录下的 MySQL 数据库 JDBC 驱动 mysql-connector-java-5.1.27-bin.jar 拷贝到 Hive安装目录的1ib 文件夹下,将完整命令截图粘贴到对应答题报告中;
答:
cp /opt/module/ mysql-connector-java-5.1.47.jar /opt/module/apache-hive-3.1.2-bin/lib
touch hive-site.xml
vim hive-site.xml
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value><description>password to use against metastore database</description></property>
</configuration>
(4)初始化 Hive 元数据库,将初始化命令及结果截图粘贴到对应答题报告中;
答:
/opt/module/apache-hive-3.1.2-bin/bin/schematool -initSchema -dbType mysql -verbos
(5)启动Hive,将命令输出结果截图粘贴到对应答题报告中;
答:
hive
(二)任务二:数据库配置维护
1.子任务一:数据库配置
MySQL 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定不同权限。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户密码等管理权限。
为了实际项目的需要,可以定义不同的用户角色,并为不同的角色赋予不同的操作权限。当用户访问数据库时,需要先验证该用户是否为合法用户,再约束该用户只能在被赋予的权限范围内操作。具体任务要求如下:
(1)为本地主机数据库创建一个名为 staff 的用户!密码为 staff123456,将完整命令及结果截图粘贴到对应答题报告中;
答:
set global validate_password_policy=LOW;
CREATE USER 'staff'@'localhost' IDENTIFIED BY 'staff123456';
(2)查看用户,确认有刚才创建的 staff 用户,将完整命令及结果截图粘贴到对应答题报告中;
答:
SELECT user, host FROM mysql.user;
(3)将用户名 staff 修改为 newstaff,将完整命令及结果截图粘贴到对应答题报告中;
答:
RENAME USER 'staff'@'localhost' TO 'newstaff'@'localhost';
(4)授予用户 newstaff对 WeatherDB 数据库中weather_month 表的查询、插入、删除权限,将完整命令及结果截图粘贴到对应答题报告中(MyS0L数据库中已创建好WeatherDB数据库,如果不存在则需要自己建库并导入数据提供的几个 sq1 是数据源文件);
答:
CREATE DATABASE WeatherDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT SELECT, INSERT, DELETE ON WeatherDB.weather_month TO 'newstaff'@'localhost';
(5)使用新用户 newstaff 登录MySQL 数据库,查看是否有 WeatherDB 数据库,并查看WeatherDB 数据库下有哪此表,将完整命令及结果截图粘贴到对应答题报告中:(6)删除 newstaff 的用户,并确认是否已经删除newstaff用户,将完整命令及结果截图粘贴到对应答题报告中;
答:
mysql -u newstaff -p
show databases;
use WeatherDB;
show tables;
(6)删除 newstaff 的用户,并确认是否已经删除newstaff用户,将完整命令及结果截图粘贴到对应答题报告中:
答:
DROP USER 'newstaff'@'localhost';
2.子任务二:数据表与数据管理
气候变化正在迅速地改变地球。随着全球气温不断升高海平面上升、极端天气事件频繁发生,人们对于地球的未来更加担忧。为了更好地了解气候变化的趋势、预测未来天气趋势,我们创建了“天气数据库”,用于收集、组织和记录来自全球各地的气象数据和天气预报信息。它的作用不仅仅是记录过去的天气情况,更是提供了一个全球性、长期性的气候趋势预测工具,使气象学家和气候学家能够更好地了解气候变化的趋势,从而采取适当的措施应对未来的气候变化:本任务的具体要求如下:
答:
CREATE TABLE WeatherDB.province_city (city_id INT AUTO_INCREMENT PRIMARY KEY,city_name VARCHAR(255) NOT NULL,province_name VARCHAR(255) NOT NULL,climate VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(2)使用 SQL 命令修改 province_city 表中 climate列的列名为 climate-new,将完整命令及结果截图粘贴到对应答题报告中;
答:
ALTER TABLE WeatherDB.province_city CHANGE climate climate_new VARCHAR(255);
(3)使用 SOL 命令给 province-city 表增加一个字段zip-code(代表邮编),字段类型应符合实际意义,将完整命令及结果截图粘贴到对应答题报告中:
答:
ALTER TABLE WeatherDB.province_city ADD zip_code VARCHAR(6);
(4)使用 SOL 语句给 province_city 表中插入一条数据,数据的具体信息如下:城市ID为10001、城市名称为阆中市、省份名称为四川省、气候条件为亚热带季风气候、邮编为 637400。将完整SQL语句及运行结果截图粘贴到对应答题报告中。
答:
INSERT INTO WeatherDB.province_city (city_id, city_name, province_name, climate_new, zip_code) VALUES (10001, '阆中市', '四川省', '亚热带季风气候', 637400);
(5)使用 SOL 语句批量给 province_city 表中插入三条数据,将完整SQL语句及运行结果截图粘贴到对应答题报告中。数据的具体信息如下:
答:
INSERT INTO WeatherDB.province_city (city_id, city_name, province_name, climate_new, zip_code)
VALUES
(10002, '江油市', '四川省', '亚热带季风性湿润气候', 621700),
(10003, '灯塔市', '辽宁省', '北温带大陆性气候', 111300),
(10004, '玉环市', '浙江省', '暖温带大陆性季风气候', 317610);
(6)使用 SQL 语句修改 province_city 表中城市 ID 为10004 的城市信息,将气候修改为亚热带海洋性季风气候,将邮编修改为 317600。将完整 SOL 语句及运行结果截图粘贴到对应答题报告中:
答:
UPDATE WeatherDB.province_city
SET climate_new = '亚热带海洋性季风气候', zip_code = 317600
WHERE city_id = 10004;
3.子任务三:维护数据表
SQL 作为一种全球通用的语言,任何人都可以学习使用虽然看起来很复杂,除开特定数据库系统专用的 SOL命令其它基本上不需要任何事先的知识,而且命令通常比较少S0L能够快速的查询和统计大量数据,发现数据的趋势和数据之间的关系。S0L 是一种与数据库打交道的标准语言,熟练地使用 SOL 可以确保每个使用数据库的人都会使用相同的命令,使得开发人员更容易创建与多个数据库一起工作的应用程序。本任务的具体要求如下:
(1)使用 SOL命令查看 weather_month 表中第 20000至第 20100条数据(查询结果只显示第20000至第20100条数据),将完整 SOL 语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中;
答:
SELECT * FROM WeatherDB.weather_month
LIMIT 100 OFFSET 19999;
(2)使用 SOL 语句分别查询四川省、广东省、浙江省下面有哪些城市,输出省份 id、省份名称、城市 id、城市名称、邮编、城市等级、气候条件。将完整SOL 语句和各省份相关城市查询结果的后5条数据以及总数据行数截图粘贴到对应答题报告中:
答:
SELECT ci.id AS city_id, ci.city_name, ci.zip_code, ci.level, ci.climate, pr.province_id, pr.province_name
FROM city_info ci
JOIN province_info pr ON ci.province_id = pr.province_id
WHERE
pr.province_name IN ('四川省', '广东省', '浙江省');
(3)使用 SOL语句查询 weather_month 表,筛选出哪些城市在 2018 年的月度温差大于等于5度的(平均最高气温-平均最低气温),输出城市 id、城市名称、日期、平均最高气温、平均最低气温。将完整SOL语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中:
答:
SELECT city_id, city_name, month, avg_high_temp, avg_low_temp
FROM ( SELECT city_id, city_name, month, avg_high_temp, avg_low_temp, (avg_high_temp - avg_low_temp) AS temperature_difference FROM weather_month WHERE month LIKE '2018-%' -- 只选择2018年的数据
) AS subquery
WHERE temperature_difference >= 5; -- 筛选温差大于等于5度的记录
(4)使用 SOL 语句查询 weather_day 表中各个城市每年的最高温度和最低温度分别是多少度,输出城市id、城市名称、日期(格式为年)、最高温度、最低温度。将完整S0I语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中
答:
SELECT city_id, city_name, YEAR(day) AS year, MAX(hightest_temp) AS max_temp, MIN(lowest_temp) AS min_temp
FROM weather_day
GROUP BY city_id, city_name, YEAR(day)
ORDER BY city_id, year;
更多内容请联系
武汉唯众智创科技有限公司
欲了解更多信息,欢迎登录www.whwzzc.com,咨询电话13037102709
*本资料产品图片及技术数据仅供参考,如有更新恕不另行通知,具体内容解释权归唯众所有。