2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…

2024-02-29 1543阅读

温馨提示:这篇文章已超过411天没有更新,请注意相关的内容是否还可用!

2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…

2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…
(图片来源网络,侵删)

武汉唯众智创科技有限公司

2024 年 2 月

联系人:辜渝傧13037102709

题号:试题01

模块一:平台搭建与运维

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

本模块需要使用 root 用户完成相关配置;所有组件均在/root/software 目录下。

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

master、slave1、slave2三台节点都需要安装JDK

(1)将JDK安装包解压到/root/software目录下;

答:tar zxvf jdk-8u202-linux-x64.tar.gz -C /root/software

(2)在“/etc/profile”文件中配置JDK环境变量

JAVA_HOME和PATH的值,并让配置文件立即生效;

答:vi /etc/profile

在文件最底部添加如下内容

export JAVA_HOME=/root/software/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

添加完成后保存。执行source /etc/profile命令。

(3)查看JDK版本,检测JDK是否安装成功。

答:输入java -version查看版本。

在master节点操作

(1)在master上生成SSH密钥对;

答:执行ssh-keygen -t rsa,一直回车即可

(2)将master上的公钥拷贝到slave1和slave2上;

答:ssh-copy-id slave1

(3)在master 上通过 SSH 连接slave1 和slave2 来验证。

答:ssh slave1

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

master、slave1、slave2三台节点都需要安装Hadoop

(1)在 主 节 点 将 Hadoop 安 装 包 解 压 到/root/software目录下;

答:tar zxvf hadoop-3.2.1.tar.gz -C /root/software/

(2)依次配置hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml和workers配置文件;Hadoop集群部署规划如下表;

表1 Hadoop集群部署规划

服务器 master slave1 slave2

HDFS NameNode

HDFS SecondaryNameNode

HDFS DataNode DataNode DataNode

YARN ResourceManager

YARN NodeManager NodeManager NodeManager

历史日志服务器 JobHistoryServer

答:

hadoop-env.sh:

export JAVA_HOME=/root/software/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:


	fs.defaultFS
    hdfs://master:9000



	hadoop.tmp.dir
    /root/software/hadoop-3.2.1/hadoopDatas/tempDatas

hdfs-site.xml:



        dfs.replication
    2



        dfs.namenode.name.dir
    /root/software/hadoop-3.2.1/hadoopDatas/namenodeDatas



        dfs.datanode.data.dir
    /root/software/hadoop-3.2.1/hadoopDatas/datanodeDatas/



        dfs.permissions.enalbed
    false



        dfs.namenode.http-address
    master:9870



        dfs.namenode.secondary.http-address
    master:9868

mapred-site.xml:



        mapreduce.framework.name
    yarn



        mapreduce.application.classpath
    /root/software/hadoop-3.2.1/share/hadoop/mapreduce/*:/root/software/hadoop-3.2.1/share/hadoop/mapreduce/lib/*



    mapreduce.jobhistory.address
    master:10020



    mapreduce.jobhistory.webapp.address
    master:19888

yarn-site.xml:



        yarn.resourcemanager.hostname
    master



        yarn.nodemanager.aux-services
    mapreduce_shuffle



        yarn.nodemanager.vmem-check-enabled
    false

workers:

删掉里面的localhost,添加以下内容

master
slave1
slave2

(3)在master节点的Hadoop 安装目录下依次创建

hadoopDatas/tempDatas 、 hadoopDatas/namenodeDatas 、

hadoopDatas/datanodeDatas、hadoopDatas/dfs/nn/edits、

hadoopDatas/dfs/snn/name 和

hadoopDatas/dfs/nn/snn/edits目录;

答:进入hadoop安装目录下执行下面命令:

mkdir -p hadoopDatas/tempDatas
mkdir -p hadoopDatas/namenodeDatas 
mkdir -p hadoopDatas/datanodeDatas
mkdir -p hadoopDatas/dfs/nn/edit
mkdir -p hadoopDatas/dfs/snn/name
mkdir -p hadoopDatas/dfs/nn/snn/edits

(4)在master节点上使用scp命令将配置完的Hadoop安装目录直接拷贝至slave1和slave2;

答:

scp -r /root/software/hadoop-3.2.1 root@slave1:/root/software/
scp -r /root/software/hadoop-3.2.1 root@slave2:/root/software/

(5)三台节点的“/etc/profile”文件中配置Hadoop环境变量HADOOP_HOME和PATH的值,并让配置文件立即生效;

答:

vi /etc/profile
export HADOOP_HOME=/root/software/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

(6)在主节点格式化集群;

hdfs namenode -format

(7)在主节点依次启动HDFS、YARN集群和历史服务

答:

start-all.sh
mapred --daemon start historyserver(mr-jobhistory-daemon.sh start historyserver)

3.子任务三:MySQL 安装配置

只在master节点操作

(1)将MySQL 5.7.25安装包解压到/root/software

目录下;

答:tar xf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar -C /root/software

(2)使用 rpm -ivh 依 次 安 装 mysql-community-

common、mysql-community- libs、mysql-community-libs-

compat 、 mysql-community-client 和 mysql-community-

server包;

答:

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

(3)安装好MySQL后,使用mysql用户初始化和启动数据库;

答:systemctl start mysqld.service

(4)使用root用户无密码登录MySQL,然后将root用户的密码修改为123456,修改完成退出MySQL,重新登录验证密码是否修改成功;

更改“mysql”数据库里的 user 表里的 host 项,从

localhost 改成即可实现用户远程登录;设置完成刷新配置信息,让其生效。

答:

systemctl stop mysqld.service
vi /etc/my.cnf

加入下面配置

skip-grant-tables
systemctl start mysqld.service

此时即可无密码登录mysql,登录后执行下面命令修改密码

flush privileges;
set password for root@localhost = password('123456');
flush privileges;
exit

修改完成后注释skip-grant-tables并重启服务。

在mysql命令行执行下面命令即可远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;

4.子任务四:Hive 安装配置

只在master节点操作。

(1)将Hive 3.1.2的安装包解压到/root/software

目录下;

答:tar zxf apache-hive-3.1.2-bin.tar.gz -C /root/software/

(2)在“/etc/profile”文件中配置Hive环境变量HIVE_HOME

和PATH的值,并让配置文件立即生效;

答:

vi /etc/profile
export HIVE_HOME=/root/software/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile

(3)查看Hive版本,检测Hive环境变量是否设置成功;

答:hive --version

(4)切换到 $HIVE_HOME/conf 目录下,将 hive-env.sh.

template文件复制一份并重命名为hive-env.sh;然后,使用vim编辑器进行编辑,在文件中配置HADOOP_HOME、HIVE_CONF_DIR以及HIVE_AUX_JARS_PATH参数的值,将原有值删除并将前面的注释符#去掉;配置完成,保存退出;

答:

cp hive-env.sh.template hive-env.sh
vim hive-env.sh
HADOOP_HOME=/root/software/hadoop-3.2.1
export HIVE_CONF_DIR=/root/software/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/root/software/apache-hive-3.1.2-bin/lib

(5)将 /root/software 目 录 下 的 MySQL 驱 动 包mysql-connector-java-5.1.47-bin.jar拷贝到 H I V E H O M E / l i b 目录下; ∗ ∗ 答 ∗ ∗ : ‘ c p / r o o t / s o f t w a r e / m y s q l − c o n n e c t o r − j a v a − 5.1.47. j a r / r o o t / s o f t w a r e / a p a c h e − h i v e − 3.1.2 − b i n / l i b ‘ ( 6 )在 HIVE_HOME/lib目录下; **答**:`cp /root/software/ mysql-connector-java-5.1.47.jar /root/software/apache-hive-3.1.2-bin/lib` (6)在 HIVEH​OME/lib目录下;∗∗答∗∗:‘cp/root/software/mysql−connector−java−5.1.47.jar/root/software/apache−hive−3.1.2−bin/lib‘(6)在HIVE_HOME/conf目录下创建一个名为hive-site.xml的文件,并使用vim编辑器进行编辑;

配置如下内容:

表2 配置内容

配置参数 描述 参数值

javax.jdo.optio n.ConnectionURL 连接元数据库的链接信息 jdbc:mysql://master:3306/hivedb

?createDatabaseIfNotExist=true& amp;useSSL=false&useUnicode

=true&characterEncoding=UTF

-8

javax.jdo.optio n.ConnectionDri verName 连接数据库驱动 com.mysql.jdbc.Driver

javax.jdo.optio n.ConnectionUse 连接数据库用户名称 root

rName

javax.jdo.optio n.ConnectionPas sword 连接数据库用户密码

123456

答:

touch hive-site.xml
vim hive-site.xml

    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8
        JDBC connect string for a JDBC metastore
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
        Driver class name for a JDBC metastore
    
    
        javax.jdo.option.ConnectionUserName
        root
        username to use against metastore database
    
    
        javax.jdo.option.ConnectionPassword
        123456
        password to use against metastore database
    

(7)使用schematool命令,通过指定元数据库类型为“mysql”,来初始化源数据库的元数据;

答:/root/software/apache-hive-3.1.2-bin/bin/schematool -initSchema -dbType mysql -verbos

(8)使用CLI启动Hive,进入Hive客户端;在Hive默认数据库下创建一个名为student的管理表;

表3 数据表

字段 数据类型

id int

name string

答:

hive
create table student(id int,name string);

(9)通过insert语句往student表中插入一条测试数据。

答:insert into student(id,name) values(1,"test");

5.子任务五:Flume 安装配置

只在master 节点操作。

(1)将 Flume 1.11.0 的 安 装 包 解 压 到

/root/software目录下;

答:tar zxvf apache-flume-1.11.0-bin.tar.gz -C /root/software/

(2)在“/etc/profile”文件中配置Flume环境变量

FLUME_HOME和PATH的值,并让配置文件立即生效;

答:

vim /etc/profile
export FLUME_HOME=/root/software/apache-flume-1.11.0-bin
export PATH=$PATH:$FLUME_HOME/bin
source /etc/profile

(3)使 用 cd 命 令 进 入 /root/software/apache- flume-1.11.0-bin/conf 目录下, 使用cp 命令将flume-env.sh.template文件复制一份,并重命名为flume-env.sh使用vim 命令打开 “flume-env.sh” 配置文件, 找到JAVA_HOME参数位置,将前面的“#”去掉,将值修改为本机JDK的实际位置;修改完成,保存退出;

答:

cd /root/software/apache-flume-1.11.0-bin/conf
cp flume-env.sh.template flume-env.sh
vim flume-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0

(4)查看Flume版本,检测Flume是否安装成功。

答:flume-ng version

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

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

在Hive 中创建一个名为 comm 的数据库,如果数据库已经存在,则不进行创建。

答:create database if not exists comm;

2.子任务二:创建相关表

(1)在 comm 数 据 库 下 创 建一个名为ods_behavior_log的外部表,如果表已存在,则先删除;分区字段为dt,即根据日期进行分区;同时,使用location关键 字 将 表 的 存 储 路 径 设 置 为 HDFS 的/behavior/ods/ods_behavior_log目录;字段类型如下表所示;

表4 字段类型

字段 数据类型 说明

line string 一整行JSON数据

dt string 日期,分区字段

答:-- 删除已存在的表

drop table if exists comm.ods_behavior_log;

– 创建外部表

create external table comm.ods_behavior_log(line string) partitioned by (dt string) location '/behavior/ods/ods_behavior_log';

(2)使用loaddata子句将本地/root/eduhq/data/app_log/behavior目录下的每个数据文件依次加载到外部表ods_behavior_log的对应分区中,按照日志文件对应日期定义静态分区(例如:dt=‘2023-01-01’)

答:load data local inpath '/root/eduhq/data/app_log/behavior/behavior2023-01-01.log' into table ods_behavior_log partition(dt='2023-01-01');

其他同理。

(3)查看ods_behavior_log表的所有现有分区、前3行数据,并统计外部表ods_behavior_log数据总行数;

答:

SHOW PARTITIONS ods_behavior_log;
select * from ods_behavior_log limit 3;
select count(*) from ods_behavior_log;

(4)在 comm 数 据 库 下 创 建 一 个 名 为

dwd_behavior_log的外部表,如果表已存在,则先删除;分区字段为dt,即根据日期进行分区;另外,要求指定表的存储路径为HDFS的/behavior/dwd/dwd_behavior_log目录,存储文件类型为“orc”,文件的压缩类型为“snappy”;字段类型如下表所示;

表5 字段类型

字段 数据类型 说明

client_ip string 客户端请求的IP地址

device_type

string 请求的设备类型, 手机

mobile或者电脑pc

type

string 上网的模式,4G、5G或

WiFi

device string 设备ID

url string 访问的资源路径

province string 省份

city string 城市

ts bigint 时间戳

dt string 日期,分区字段

答:

drop table if exists comm.dwd_behavior_log;
create external table comm.dwd_behavior_log(client_ip string,device_type string,type string,device string,url string,province string,city string,ts bigint) partitioned by (dt string) STORED AS orc location '/behavior/dwd/dwd_behavior_log' tblproperties ("orc.compress"="SNAPPY");

更多内容请联系

武汉唯众智创科技有限公司

欲了解更多信息,欢迎登录www.whwzzc.com,咨询电话13037102709

*本资料产品图片及技术数据仅供参考,如有更新恕不另行通知,具体内容解释权归唯众所有。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]