2024年全国职业院校技能大赛中职组大数据应用服务赛卷①

2024年全国职业院校技能大赛中职组大数据应用服务赛卷①


大数据应用服务竞赛交流:982262433
在这里插入图片描述

一、背景描述
随着中国数字化转型战略的推进,传统通信行业正面临着数字化转型的挑战和机遇;用户对通信服务的需求已经发生了根本性的变化,通信运营商正在通过技术创新和服务升级来满足这些需求;数字化转型涉及到网络建设、数据管理、 服务创新等方面,大数据技术成为关键驱动力之一。
为了应对这一转型,我们要求参赛者搭建通信行业大数 据分析平台,并利用 Hive 数仓技术和 Spark 计算引擎对通信用户行为数据进行操作和分析;通过这样的平台,可以快 速处理和挖掘海量数据,得出有价值的洞察和分析结果。
同时,在展示数据分析结果方面,我们要求参赛者结合 前端可视化框架 ECharts 和Python 可视化库pyecharts,创建交互式的数据可视化图表;这些图表能够直观地展示数据 分析结果,帮助管理者更好地决策企业的发展战略,并对销 售、营销、客服和技术等部门的目标策略进行全面部署;通
过数据可视化,销售部门可以了解产品销售趋势和市场份额; 营销部门可以优化营销活动和广告投放策略;客服部门可以提供更好的客户服务;技术部门可以进行网络优化和故障排查。

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

(一)任务一:大数据平台搭建
本模块需要使用 root 用户完成相关配置;所有组件均在/root/software 目录下。
1.子任务一:基础环境准备
master、slave1、slave2三台节点都需要安装JDK
(1)将JDK安装包解压到/root/software目录下;
(2)在“/etc/profile”文件中配置JDK环境变量
JAVA_HOME和PATH的值,并让配置文件立即生效;
(3)查看JDK版本,检测JDK是否安装成功。在master节点操作
(1)在master上生成SSH密钥对;
(2)将master上的公钥拷贝到slave1和slave2上; 在master 上通过 SSH 连接slave1 和slave2 来验证。
2.子任务二:Hadoop 完全分布式安装配置
master、slave1、slave2三台节点都需要安装Hadoop
(1)在 主 节 点 将 Hadoop 安 装 包 解 压 到
/root/software目录下;
(2)依次配置hadoop-env.sh、core-site.xml、hdfs- site.xml、mapred-site.xml、yarn-site.xml和workers配置文件;Hadoop集群部署规划如下表;

表1 Hadoop集群部署规划

在这里插入图片描述

(3)在master节点的Hadoop 安装目录下依次创建hadoopDatas/tempDatas 、 hadoopDatas/namenodeDatas 、hadoopDatas/datanodeDatas、hadoopDatas/dfs/nn/edits、hadoopDatas/dfs/snn/name 和hadoopDatas/dfs/nn/snn/edits目录;
(4)在master节点上使用scp命令将配置完的Hadoop 安装目录直接拷贝至slave1和slave2;
(5)三台节点的“/etc/profile”文件中配置Hadoop 环境变量HADOOP_HOME和PATH的值,并让配置文件立即生效;
(6)在主节点格式化集群;
(7)在主节点依次启动HDFS、YARN集群和历史服务

3.子任务三:MySQL 安装配置只在master节点操作
(1)将MySQL 5.7.25安装包解压到/root/software目录下;
(2)使用 rpm -ivh 依 次 安 装 mysql-community- common、mysql-community- libs、mysql-community-libs- compat 、 mysql-community-client 和 mysql-community- server包;
(3)安装好MySQL后,使用mysql用户初始化和启动数 据库;
(4)使用root用户无密码登录MySQL,然后将root用户的密码修改为123456,修改完成退出MySQL,重新登录验证密码是否修改成功;
更改“mysql”数据库里的 user 表里的 host 项,从localhost 改成%即可实现用户远程登录;设置完成刷新配置信息,让其生效。
4.子任务四:Hive 安装配置
只在master节点操作。
(1)将Hive 3.1.2的安装包解压到/root/software目录下;
(2)在“/etc/profile”文件中配置Hive环境变量
HIVE_HOME和PATH的值,并让配置文件立即生效;
(3)查看Hive版本,检测Hive环境变量是否设置成功;
(4)切换到 $HIVE_HOME/conf 目录下,将 hive- env.sh.template文件复制一份并重命名为hive-env.sh;然后,使用vim编辑器进行编辑,在文件中配置HADOOP_HOME、HIVE_CONF_DIR以及HIVE_AUX_JARS_PATH参数的值,将原有值删除并将前面的注释符#去掉;配置完成,保存退出;
(5)将 /root/software 目 录 下 的 MySQL 驱 动 包
mysql-connector-java-5.1.47-bin.jar 拷 贝 到
H I V E H O M E / l i b 目录下;( 6 )在 HIVE_HOME/lib目录下; (6)在 HIVEHOME/lib目录下;(6)在HIVE_HOME/conf目录下创建一个名为hive- site.xml的文件,并使用vim编辑器进行编辑;
配置如下内容:

表2 配置内容

在这里插入图片描述
在这里插入图片描述
(7)使用schematool命令,通过指定元数据库类型为“mysql”,来初始化源数据库的元数据;
(8)使用CLI启动Hive,进入Hive客户端;在Hive默认数据库下创建一个名为student的管理表;

表3 数据表
字段数据类型
idint
namestring

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

5.子任务五:Flume 安装配置
只在master 节点操作。
(1)将 Flume 1.11.0 的 安 装 包 解 压 到
/root/software目录下;
(2)在“/etc/profile”文件中配置Flume环境变量
FLUME_HOME和PATH的值,并让配置文件立即生效;
(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的实际位置;修改完成,保存退出;
(4)查看Flume版本,检测Flume是否安装成功。

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

表4 字段类型
字段数据类型说明
linestring一整行JSON数据
dtstring日期,分区字段

(2)使 用 load data 子 句 将 本 地/root/eduhq/data/app_log/behavior目录下的每个数据文件依次加载到外部表ods_behavior_log的对应分区中,按照日志文件对应日期定义静态分区(例如:dt=‘2023-01-01’)
(3)查看ods_behavior_log表的所有现有分区、前3 行数据,并统计外部表ods_behavior_log数据总行数;
(4)在 comm 数 据 库 下 创 建 一 个 名 为dwd_behavior_log的外部表,如果表已存在,则先删除;分区字段为dt,即根据日期进行分区;另外,要求指定表的存 储路径为HDFS的/behavior/dwd/dwd_behavior_log目录,存储文件类型为“orc”,文件的压缩类型为“snappy”;字段类型如下表所示;

表5 字段类型
字段数据类型说明
client_ipstring客户端请求的IP地址
device_typestring请求的设备类型, 手机 mobile或者电脑pc
typestring上网的模式,4G、5G或 WiFi
devicestring设备ID
urlstring访问的资源路径
provincestring省份
citystring城市
tsbigint时间戳
dtstring日期,分区字段

三、模块二:数据获取与处理

(一)任务一:数据获取与清洗
1.子任务一:数据获取
(1)启动Hadoop集群,使用HDFS Shell指令,在HDFS根目录下级联创建一个名为/behavior/origin_log的目录,用于存储采集到的用户行为日志;
(2)目录创建完成,使用HDFS Shell指令,将本地
/root/eduhq/data/app_log/behavior目录下的所有用户行为日志文件采集至HDF的/behavior/origin_log目录下;
(3)采集完成,在本机打开浏览器,访问http://本 机主机名:9870或http://本机IP地址:9870进入HDFS Web UI界面,查看是否成功将数据采集到HDFS上。
2.子任务二:数据清洗
(1)使用Windows操作系统上的Excel软件,打开名为"behavior2023-01-01.csv"的文件;
(2)对数据进行清洗,专注处理名为"behavior2023- 01-01.csv"的文件中的"time"列。将时间日期格式进行分列,分别处理为日期和时间两列。

(二)任务二:数据标注
开 发 一 个 简 单 的 Java 类 IpToLocUdf , 继 承org.apache.hadoop.hive.ql.udf.generic.GenericUDF ,重载initialize()、evaluate()和 getDisplayString()方法;该类需要实现通过 IP 从/root/eduhq/data/area.json 文件中随机获取“省份”和“城市”信息,完成数据的分类标注。
(三)任务三:数据统计
1.子任务一:HDFS 文件上传下载
(1)) 将包“ com.hive.udf ”导出为名为hive-udf- behavior-1.0.0.jar 的 JAR 文件, 并 保存在 本地 的/root/eduhq/udf_jars 目录中;
(2)将打包文件 hive-udf-behavior-1.0.0.jar 上传到
HDFS 的/hive/udf_jars 目录下;
(3)在 Hive 客户端,创建永久函数 url_trans 和
get_city_by_ip,并将它们与开发好的 class 相关联;
(4)在 Hive 客户端,使用 select 语句测试url_trans
和get_city_by_ip 函数;
(5)启动 Hive 的动态分区功能,并将 Hive 设置为非 严格模式;
(6)使用 insert overwrite … select …子句将ods_behavior_log 表中数据插入分区表dwd_behavior_log 中,并实现根据 dt 进行动态分区。
2.子任务二:数据统计
(1)查看dwd_behavior_log表的所有现有分区;
(2)查看外部表dwd_behavior_log的前3行数据,并验证URL协议是否被统一为“http”,以及通过IP是否能够获取到“省份”和“城市”信息;
(3)统计外部表dwd_behavior_log数据总行数。

四、模块三:业务分析与可视化

(一)任务一:数据可视化
1.子任务一:数据分析

(1)在 comm 数 据 库 下 创 建 一 个 名 为dws_behavior_log的外部表,如果表已存在,则先删除;分区字段为dt,即根据日期进行分区;另外,要求指定表的存 储路径为HDFS的/behavior/dws/dws_behavior_log目录,存储文件类型为“orc”,文件的压缩类型为“snappy”;字段类型如下表所示;

表6 字段类型表
字段数据类型说明
client_ipstring客户端请求的IP地址
device_typestring请求的设备类型, 手机mobile或 者电脑pc
typestring上网的模式,4G、5G或WiFi
devicestring设备ID
urlstring访问的资源路径
provincestring省份
citystring城市

(2)启动Hive的动态分区功能,并将Hive设置为非严格模式;
(3)使用insert overwrite … select …子句将dwd_behavior_log表中数据插入分区表dws_behavior_log 中,并实现根据dt进行动态分区;
(4)查看dws_behavior_log表的所有现有分区、前3 行数据,并统计统计表数据总行数;
(5)在comm数据库下创建一个名为dim_date的外部表,如果表已存在,则先删除;另外,要求指定表的存储路径为HDFS的/behavior/dim/dim_date目录,字段分隔符为“\t” , 建 表 时 添 加 TBLPROPERTIES (‘skip.header.line.count’=‘1’) 语句让Hive读取外表数据时跳过文件行首(表头);字段类型如下表所示;

表7 字段类型表
字段数据类型说明
date_idstring日期
week_idstring
week_daystring星期
daystring一个月的第几天
monthstring月份
quarterstring季度
yearstring年份
is_workdaystring是否是工作日
holiday_idstring国家法定假日标识

(6)在comm数据库下创建一个名为dim_area的外部表,如果表已存在,则先删除;另外,要求指定表的存储路径为HDFS的/behavior/dim/dim_area目录,字段分隔符为“\t”;字段类型如下表所示;

表8 字段类型表
字段数据类型说明
citystring城市/区/县
provincestring省份
areastring地区

(7)使用load data子句将本地/root/eduhq/data目录下的“dim_date_2023.txt”和“dim_area.txt”文件分别加载到外部表dim_date和dim_area中;
(8)分别查看外部表dim_date和dim_area的前3行数据;
(9)分别统计外部表dim_date和dim_area数据总行数;
(10)统计不同省份用户访问量;将统计结果导出到本地文件系统的/root/eduhq/result/ads_user_pro目录下, 并指定列的分隔符为逗号(特别注意:因为省份是随机获取 的,所以结果会有所差异);
(11)统计不同时间段的网页浏览量将统计结果导出到本地文件系统的/root/eduhq/result/ads_user_hour 目录下,并指定列的分隔符为逗号;
(12)不同网站访客的设备类型统计;将统计结果导出 到本地文件系统的/root/eduhq/result/ads_visit_mode目录下,并指定列的分隔符为逗号;
(13)不同网站的上网模式统计;将统计结果导出到本地文件系的/root/eduhq/result/ads_online_type 目录下,并指定列的分隔符为逗号;

2.子任务二:数据可视化
(1)使用Pyecharts库绘制中国地图,以直观展示不同省份用户访问量分布情况;
文件名:ads_user_pro.py
文件存放地址:/root/eduhq/python/
数据目录:/root/eduhq/result/ads_user_pro目录
背景地址:/root/eduhq/images/img_1.png
图表名称:不同省份用户访问量分布图.html
图表存放地址:/root/eduhq/html/
(2)使用Pyecharts库绘制一个带时间轴的柱形图, 以直观展示不同经济大区用户的访问量统计情况;
文件名:ads_user_region.py
文件存放地址:/root/eduhq/python/

数据目录:
/root/eduhq/result/ads_user_region目录
背景地址:/root/eduhq/images/img_2.png
图表名称:不同经济大区用户访问量统计柱形图.html
图表存放地址:/root/eduhq/html/
(3)使用Pyecharts绘制网页浏览量统计折线图,直观展示不同时间段内的访问量变化趋势;
文件名:ads_user_hour.py
文件存放地址:/root/eduhq/python/
数据目录:/root/eduhq/result/ads_user_hour目录
背景地址:/root/eduhq/images/img_3.png
图表名称:不同时间段网页浏览量统计曲线图.html
图表存放地址:/root/eduhq/html/
(4)使用Pyecharts绘制网页浏览量统计折线图,直观展示节假日和工作日不同时间段内的访问量变化趋势;
文件名:ads_hol_work_user.py
文件存放地址:/root/eduhq/python/
数据目录:
/root/eduhq/result/ads_hol_work_user目录
背景地址:/root/eduhq/images/img_3.png
图表名称:节假日和工作日各时间段网页浏览量统 计曲线图.html
图表存放地址:/root/eduhq/html/
(5)使用Pyecharts绘制堆积柱形图,直观地展示访客在不同设备类型上的访问次数情况;
文件名:ads_visit_mode.py
文件存放地址:/root/eduhq/python/
数据目录:/root/eduhq/result/ads_visit_mode

目录
背景地址:/root/eduhq/images/img_2.png
图表名称:网站访客设备类型统计堆积柱形图.html
图表存放地址:/root/eduhq/html/
(6)使用Pyecharts绘制堆积柱形图,直观地展示访客在不同上网模式下的访问次数情况;
文件名:ads_online_type.py
文件存放地址:/root/eduhq/python/
数据目录:/root/eduhq/result/ ads_online_type目录
背景地址:/root/eduhq/images/img_2.png
图表名称:网站访客上网模式统计堆积柱形图.html
图表存放地址:/root/eduhq/html/

(7)使用Pyecharts绘制词云图,直观地展示不同域名用户访问情况;
文件名:ads_user_domain.py
文件存放地址:/root/eduhq/python/
数据目录:/root/eduhq/result/ads_user_domain

目录
背景地址:/root/eduhq/images/img_2.png
图表名称:不同域名用户访问统计词云.html
图表存放地址:/root/eduhq/html/

(二)任务二:业务分析
(1)统计每天不同经济大区用户访问量;将统计 结 果 导 出 到 本 地 文 件 系 统 的
/root/eduhq/result/ads_user_region目录下,并指定列的分隔符为逗号;
(2)统计节假日和工作日的浏览量差异;将统计 结 果 导 出 到 本 地 文 件 系 统 的
/root/eduhq/result/ads_hol_work_user目录下,并指定列的分隔符为逗号;
(3)统计不同域名的用户访问量;将统计结果导 出 到 本 地 文 件 系 统 的
/root/eduhq/result/ads_user_domain目录下,并指定列的分隔符为逗号;

中职大数据技术应用是指在中等职业教育阶段,对大数据技术进行教学和培养学生相关应用能力的一门课程。大数据技术在中职教育中的应用主要包括以下几个方面: 1. 理论知识教学:中职大数据技术应用课程会教授学生大数据的基本概念、原理和技术体系,包括数据采集、数据存储、数据处理和数据分析等方面的知识。 2. 技术实践训练:学生将通过实际操作来学习大数据技术的应用,例如使用Hadoop等大数据处理框架进行数据处理和分析,使用数据可视化工具展示分析结果等。 3. 应用案例研究:中职大数据技术应用课程会引入一些实际应用案例,让学生了解大数据技术在不同领域的应用,如电商推荐系统、交通路况分析等。 4. 实习实训机会:为了提高学生的实际操作能力,中职教育机构可能会企业合作,为学生提供实习实训机会,让他们在真实的大数据应用场景中进行实践。 通过中职大数据技术应用的学习,学生可以获得大数据技术的基础知识和实际应用能力,为他们未来从事大数据相关的职业打下坚实的基础。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [教育大数据的核心技术、应用现状发展趋势](https://blog.csdn.net/weixin_34150830/article/details/89729057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔Sec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值