2024年甘肃省职业院校技能大赛中职组“大数据应用与服务赛项”赛题②
中职大数据应用与服务技能竞赛交流裙q裙:982262433
模块一 数据库系统运维
环境说明:
模块一涉及到的数据库数据表信息如下:
数据库-数据表
基本要求:
1、本模块为技能实操,满分25分。
2、禁止携带参考资料入场。
任务一:数据库系统之用户与权限管理
【任务要求】
本环节需要使用MySQL数据库系统完成关于用户管理与权限管理的操作。
【任务需求背景】
MySQL是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定不同权限。root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户密码等管理权限。
为了实际项目的需要,可以定义不同的用户角色,并为不同的角色赋予不同的操作权限。当用户访问数据库时,需要先验证该用户是否为合法用户,再约束该用户只能在被赋予的权限范围内操作。
【具体任务】
1、为本地主机数据库创建一个名为competitor的用户,密码为cpttor123, 将完整命令及结果截图粘贴到对应答题报告中;
2、查看用户,确认有刚才创建的competitor用户,将完整命令及结果截图粘贴到对应答题报告中;
3、将用户名competitor修改为competitor01,将完整命令及结果截图粘贴到对应答题报告中;
4、使用新用户competitor01登录MySQL数据库,将完整命令及结果截图粘贴到对应答题报告中;
5、授予用户competitor01对MovieDB数据库中所有表的所有权限,将完整命令及结果截图粘贴到对应答题报告中;
6、使用新用户competitor01登录MySQL数据库,然后查看数据库,将完整命令及结果截图粘贴到对应答题报告中;
7、撤销用户competitor01对MovieDB数据库中所有表的所有权限,将完整命令及结果截图粘贴到对应答题报告中;
8、删除competitor01的用户,将完整命令及结果截图粘贴到对应答题报告中;
任务二:数据库系统之数据表管理
【任务要求】
本环节需要使用MySQL数据库系统完成关于电影信息的建库、建表、数据的导入、数据表的管理等操作。
【任务需求背景】
在今天的数字娱乐时代,电影产业扮演着至关重要的角色,为观众提供了 无尽的娱乐选择。了解观众对电影的评分和喜好是制作和推荐电影的关键因素 之一。因此,我们决定建立一个电影评分信息管理系统,以更好地了解和分析 电影评分数据,提供更精准的电影推荐服务,并深入了解市场趋势和用户口味。
【具体任务】
1、在MySQL数据库的MovieDB库中,创建一个名为users的数据表,包含的字段见上面的数据表说明,指定user_id字段为主键,该字段非空,数据库引擎为InnoDB,默认字符集为utf8。将完整命令及运行结果截图粘贴到对应答题报告中;
2、查看刚才创建的users表结构,将完整命令及结果截图粘贴到对应答题报告中;
3、执行database主机/usr/local/src目录下的users.sql文件,将数据导入到刚才创建的users表中,将完整命令及结果截图粘贴到对应答题报告中;
4、使用SQL命令查看users表中前15条数据(查询结果只显示前15条数据), 将完整命令及结果截图粘贴到对应答题报告中;
5、使用SQL命令查看users表中第1001至第1010条数据(查询结果只显示第
1001至第1010条数据),将完整命令及结果截图粘贴到对应答题报告中;
6、使用SQL命令复制users表的表结构到new_users表中,将完整命令及结果截图粘贴到对应答题报告中;
7、使用SQL命令复制users表的表结构及表中第666至第888条数据到new_users_new表中,将完整命令及结果截图粘贴到对应答题报告中;
8、使用SQL命令修改new_users_new表中occupation列的列名为work,将完整命令及结果截图粘贴到对应答题报告中;
9、使用SQL命令修改new_users_new表中work字段的类型和长度为varchar(255),将完整命令及结果截图粘贴到对应答题报告中;
10、使用SQL命令删除new_users_new表中的zip_code字段,将完整命令及结果截图粘贴到对应答题报告中;
11、使用SQL命令给new_users_new表增加一个字段address(代表家庭地址),字段类型应符合实际意义,将完整命令及结果截图粘贴到对应答题报告中;
12、使用SQL命令删除new_users表和new_users_new表,将完整命令及结果截图粘贴到对应答题报告中;
任务三:数据库系统之数据管理
【任务要求】
本环节需要使用SQL语句对数据表的数据进行查询和统计。
【任务需求背景】
SQL作为一种全球通用的语言,任何人都可以学习使用。虽然看起来很复杂, 除开特定数据库系统专用的SQL命令,其它基本上不需要任何事先的知识,而且 命令通常比较少。SQL能够快速的查询和统计大量数据,发现数据的趋势和数据 之间的关系。SQL是一种与数据库打交道的标准语言,熟练地使用SQL可以确保 每个使用数据库的人都会使用相同的命令,使得开发人员更容易创建与多个数 据库一起工作的应用程序。
【具体任务】
1、使用SQL语句查询users表中职业为程序员的女性用户。将完整SQL语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中;
2、使用SQL语句查询users表中年龄大于等于18岁且小于45岁的用户。将完整SQL语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中;
3、使用SQL语句查询movies表中电影类型包含冒险和恐怖的电影。将完整SQL语句和运行结果以及总数据行数截图粘贴到对应答题报告中;
4、使用SQL语句查询被user_id为100的用户评分过的电影,输出用户id、电影id、电影标题、评分、时间戳。将完整SQL语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中;
5、使用SQL语句查询users表中user_id的最大值和最小值。将完整SQL语句及运行结果截图粘贴到对应答题报告中;
6、使用SQL语句统计ratings表中每个用户所评分电影的平均分,输出用户id及他评论电影的平均分。将完整SQL语句和运行结果的后5条数据以及总数据行数截图粘贴到对应答题报告中;
7、使用SQL语句统计ratings表中movie_id大于等于2500且小于等于2510的电影的最高评分、最低评分、和平均评分,输出格式需包含movie_id。将完整SQL语句及运行结果截图粘贴到对应答题报告中;
8、使用SQL语句查询邮编为55117的用户们对标题为Toy Story (1995)的电影的评分,输出用户id、用户年龄、电影id、电影标题、评分、评分时间戳。将完整SQL语句及运行结果截图粘贴到对应答题报告中;
9、使用SQL语句统计用户各职业对电影的平均评分,输出职业和平均分。将完整SQL语句及运行结果截图粘贴到对应答题报告中;
10、使用SQL语句统计哪个年龄段参与电影评分的次数最多,输出年龄和评分次数。将完整SQL语句及运行结果截图粘贴到对应答题报告中。
11、使用SQL语句给users表中插入一条数据,数据的具体信息如下:用户ID为6041、性别为女性、年龄为25-34岁、职业为医生、邮编为11106。将完整SQL语句及运行结果截图粘贴到对应答题报告中。
12、使用SQL语句批量给movies表中插入两条数据,数据的具体信息如下: 电影ID为3953、电影标题为Titanic、电影类型为浪漫;电影ID为3954、电影标题为Under the Light、电影类型为犯罪和神秘。将完整SQL语句及运行结果截图粘贴到对应答题报告中。
13、使用SQL语句修改users表中用户ID为6041的用户信息,将邮编改为
02460。将完整SQL语句及运行结果截图粘贴到对应答题报告中。
14、使用SQL语句删除movies表中电影ID为3954的数据。将完整SQL语句及运行结果截图粘贴到对应答题报告中。
模块二 数据采集与处理
基本要求:
1、本模块为技能实操,满分30分。
2、禁止携带参考资料入场。
任务一:电影数据采集
【任务要求】
本任务是使用Python开发网络爬虫程序爬取电影数据,并将爬取的数据进行持久化存储。
请在“Desktop/大数据应用与服务竞赛/模块二/任务一 电影数据采集
/FilmCrawl”项目中的“crawl_year”模块中编写代码,该模块用于从“慧影网”中爬取不同年代的电影数据。
【任务需求背景】
当今时代,数据为王,掌握了多少数据、数据中蕴含有多少价值往往决定了我们能够获取多少收益。数据可以有不同的来源,一些互联网巨头拥有很多用户,掌握了大量的用户数据;数据也可以通过一些渠道进行购买。但对于规模不那么大的中小型企业来说,没有太多的用户,也就没有足够的用户数据, 也没有足够的资金去购买数据。那么,他们应该怎样获取数据呢?–爬虫或许是一种答案,通过爬虫去互联网上抓取需要的数据,是一种低成本的数据获取方式。
本任务就是使用网络爬虫技术对数据进行采集,从“慧影网”中抓取电影数据,并将采集到的数据进行持久化存储。
【具体任务】
1、使用谷歌浏览器访问“慧影网首页”,网站访问地址为
【http://127.0.0.1:5000】,该网站顶部有首页、电影、电视剧、动漫、交流圈几个按钮,其中“电影”按钮可跳转到电影页,网站首页效果图如下:
2、点击“电影”按钮可跳转到电影页面,如下图所示:
数据文件名 | 说明 |
---|---|
年代名.csv(如“2019.csv”、“2007以前.csv”) | 电影数据CSV文件一共包含2019至2007以前共计13个文件 |
保存到CSV文件中的内容示例如下:
数据字段 | 字段说明 |
---|---|
movie_name | 电影名 |
director | 导演 |
editor | 编辑 |
actor | 演员 |
movie_type | 电影类型 |
score | 电影评分 |
comments | 评论数 |
five_star | 五星评论比例 |
---|---|
four_star | 四星评论比例 |
three_star | 三星评论比例 |
two_star | 两星评论比例 |
one_star | 一星评论比例 |
language | 语言 |
region | 地区 |
on_time | 上映时间 |
duration | 时长 |
本任务需要使用pandas库对数据进行清洗及处理,包括数据类型处理、数据计算、缺失数据处理、数据分组聚合、数据排序、数据存储等。
请在“Desktop/大数据应用与服务竞赛/模块二/任务二 电影数据处理
/FilmDataProcess”项目中编写代码,子任务1在“data_process.py”中编写代码,子任务2在“data_calc.py”中编写代码,数据集位于项目的“data”目录中,名为“movie.csv”。
【任务需求背景】
随着数字化时代的到来,数据已成为企业的一项不可或缺的资源和财富。然而,我们从互联网中得到的数据集往往是一些非结构化数据,其中通常会存在脏数据。所谓数据清洗,指的是对数据进行一些处理,以确保其准确性、完整性和可用性。在数据分析过程中,数据清洗是一项非常重要的任务,因为清洗数据可以减少错误率,提高数据的质量,使企业更好地利用数据资源进行数据分析及数据挖掘。本任务需要使用Python语言根据要求对数据进行清洗及处理,并将处理后的数据集进行存储。
【具体任务】
1、电影数据清洗,具体要求如下:
(1)评分和评分星级处理:评分和评分星级数据类型不便于后续进行计算, 经过必要的处理将其处理为数字型,其中score处理为浮点型,四舍五 入保留1位浮点数,评分星级也处理为浮点型,四舍五入保留3位浮点数。其中如果某列有缺失,需要根据已有的评分和评分星级进行计算得到。
(2)上映时间处理:时间统一处理为“年/月/日”的样式,例如“2009/01/01”,如果包含多个日期,只保留第一个日期,如果日期中不包含年,则默认处理为2019年,如果日期不包含月,则默认处理为01月,如果不包含日,则默认处理为01日;
(3)时长处理:时长处理为整型,如果有秒数的,可忽略不计,时长有缺失的,要使用电影上映同年的其它电影的平均时长来填充,如果没有 和其同年上映的电影,则使用其它所有年份电影上映平均时长的平均 值来填充(例如现有年份2020、2021、2022,没有2020年上映的电影, 则用2021年上映电影的平均时长和2022年上映电影的平均时长取平均 值去填充);
(4)处理完成之后,将其保存到“FilmDataProcess”项目下的“deal_data”目录中,命名为“movie_deal.csv”,注意不要改变原来列数据的顺序,列名需要保留,然后按要求截图并粘贴到答题报告相应位置。
2、数据计算,具体要求如下:
(1)本任务需要读取子任务1处理得到的“movie_deal.csv”文件;
(2)计算演出电影最多的20名演员,并按降序排序,计算完成后,将其保存到“FilmDataProcess”项目下的“deal_data”目录中,命名为“count.csv”,保存的字段包括actor(演员名)、count(参演电影数)、score(演员参演电影平均评分);
(3)计算参演电影大于等于10部的平均评分最高的前20名演员,并按降序排序,计算完成后,将其保存到“FilmDataProcess”项目下的“deal_data”目录中,命名为“score.csv”,保存的字段包括
actor(演员名)、count(参演电影数)、score(演员参演电影平均评分);
(4)计算最佳的20部电影,最佳电影的定义为:评论数大于等于5000,首先看评分高的,如果评分一致再看评论星级,优先考虑五星比例高的,再考虑四星,再考虑三星,再考虑二星,再考虑一星;计算完成后, 将其保存到“FilmDataProcess”项目下的“deal_data”目录中,命名为“best_movie.csv”。保存的字段包括movie_name(电影
名),score(评分),five_star(五星比例),four_star(四星比
例),three_star(三星比例),two_star(二星比例),one_star(一星比例);
(5)处理完成后,按要求截图并粘贴到答题报告对应的位置。
任务三:电影数据标注
【任务要求】
本任务是使用WPS对给定的电影数据进行标注,并进行持久化存储。
原始数据保存在“Desktop/大数据应用与服务竞赛/模块二/任务三 电影数据标注/FilmDataAnnotation”项目中,使用WPS工具打开电影数据完成此任务, 电影数据集具有多个字段,各字段信息如下表所示:
数据字段 | 字段说明 |
---|---|
id | 标识号 |
title | 电影名 |
overview | 电影摘要 |
release_date | 首映日期 |
runtime | 电影时长 |
tagline | 电影标语 |
【任务需求背景】
数据标注是人工智能产业的基础,是机器感知现实世界的起点。随着AI行业的蓬勃发展,对数据的需求呈井喷式增长,从某种程度上来说,没有经过标注的数据就是无用数据。数据标注的越精准、对算法模型训练的效果就越好。大部分算法在拥有足够多普通标注数据的情况下,能够将准确率提升到95%,但从95%再提升到99%甚至99.9%,就需要大量高质量的标注数据。
【具体任务】
1、使用WPS打开Initial_movie.csv。
2、在末尾新增一列数据为“movie_type”,若电影时长超过120分钟,则打标签为“1”,否则标记为“0”。标记完成后保存到当前目录,并将标记后的数据截图粘贴到答题报告对应位置。
模块三 大数据应用开发
基本要求:
1、本模块为技能实操,满分45分。
2、禁止携带参考资料入场。
任务一:基于 Excel 进行数据分析与可视化
【任务要求】
本环节需要使用办公软件Excel工具,对某电商公司的电商数据进行分析与可视化。
【任务需求背景】
在信息化推动下,随着业务的不断发展,许多企业为了迅速占领电子商务市场, 对公司的相关业务数据指标越加重视和关注。电子商务作为多元化销售行业,为客户提供一系列产品和服务。使用Excel工具对某电商公司的历史电商数据进行分析与可视化,掌握使用Excel进行数据分析应用。
【具体任务】
某电商公司的历史电商数据存储在Windows桌面“大数据应用与服务竞赛”目录下的“E_business.csv”中,数据表中记录2019年至2022年的订单历史数据信息,包含订单号、订单日期、销售额、利润额、区域、产品类别、产品名称等7列,其中销售额的单位:万、利润额的单位为:万。使用Excel打开“E_business.csv”文件, 对数据进行分析与可视化,具体要求如下:
(1)将csv数据表读取为Excel数据表,并分析每个数据字段类型,使字段能进行统计、计算等(参与计算的单元格中的值,如果存在字符,需要把字符替换为空, 例如:单元格的值为:1a23a<–,替换之后的单元格的值为123)。
(2)数据中每日的订单数据应该只有一份,数据中包含重复数据,请过滤掉重复日期的数据,并对数据根据日期升序进行排序。
(3)对数据进行统计分析,绘制出2019~2022年中各地区、各产品类别销售/利润对比图。设置要求如下:
设置图表标题为【历年各区域产品销售/利润对比图】,标题居左显示。
横坐标显示为各区域、各产品类别历年的销售额和利润额,显示完整数据。
绘制的图表为双柱状图,合理设置坐标轴取值范围,使销售额和利润额并排显示,实现图表不重叠显示。
图例保留“求和项:销售额,求和项:利润额”并标记趋势线。
默认的历年各区域产品销售/利润对比图是黑白色调的,填充图表背景颜色为蓝色,将双柱状图颜色改为渐变色色调如下图所示:
【任务需求背景】
Tableau是一款强大的可视化BI工具,可以非常便捷的进行数据连接、数据分析与可视化,交互式的界面帮助用户探索、分析数据。使用Tableau工具分析某电商公司的电商数据。
【具体任务】
(1)绘制柱状图展示某电商公司各地区不同种类的销售情况,具体要求如下:
柱状图标题设置为“各产品的市场销情况柱状图”,字号 20、加粗、居中显示并设置字体颜色。
横轴显示各区域大区名,显示横轴标签并设置字体颜色,字号 15 并设置为字号颜色为浅绿色;
纵轴显示销售额,显示纵轴标签字号 15 并设置为字号颜色为浅黄色,添加副标题名为各区域销售额。
柱状图设置显示数据标签,数据标签水平显示在柱子顶部。
如下图设置柱状图的颜色,设置颜色为红色-绿色发散、隐藏上方标签并调整为整个视图。
(2)绘制某电商公司各区域市场表现双组合图,具体要求如下:
双组合图标题设置为【公司各区域市场表现组合图】,字号 20、居中显示并设置字体颜色。
横轴显示订单的日期月,隐藏横轴标签并设置字体颜色,字号 9 并设置为字号的颜色;
纵轴显示各区域名并修改轴标题为各区域利润额,显示纵轴标签字号 10 并设置为字号颜色。
双组合图柱设置隐藏数据标签,利润额标记类型为条形图,销售额标记类型为线。
如下图设置双主图的颜色,设置默认颜色、隐藏上方标签并调整为整个视图。
列名 | 字段说明 | 列名 | 字段说明 |
---|---|---|---|
Rk | 序号 | DRB | 防守篮板 |
PLAYER | 球员 | TRB | 总篮板 |
POSITION | 球员位置 | AST | 助攻 |
AGE | 年龄 | STL | 抢断 |
MP | 出场时间 | BLK | 盖帽 |
FG | 命中次数 | TOV | 失误 |
FGA | 出手次数 | PF | 犯规 |
FG% | 命中率 | POINTS | 得分 |
3P | 三分球命中数 | TEAM | 球队 |
3PA | 三分球出手数 | GP | 场次 |
3P% | 三分球命中率 | MPG | 出场时间 |
2P | 两分命中数 | ORPM | 进攻正负值 |
2PA | 两分出手数 | DRPM | 防守正负值 |
---|---|---|---|
2P% | 两分命中率 | RPM | 效率值 |
eFG% | 真实命中率 | WINS_RPM | 赢球正负值 |
FT | 罚球命中数 | PIE | 球员贡献值 |
FTA | 罚球次数 | PACE | 每48分钟回合数 |
FT% | 罚球命中率 | W | 赢球场次 |
ORB | 进攻篮板 | SALARY_MILLIONS | 薪水 |
本任务需要使用Numpy、Pandas、Matplotlib、Seaborn等库按要求对数据进行处理及分析,然后将结果进行可视化。
请在“Desktop/大数据应用与服务竞赛/模块三/任务三 基于Python实现运动类数据分析/NBA”项目下的“NBA_data_analysis.py”模块中编写代码实现功能,数据集在项目的“data”目录中。
【任务需求背景】
NBA是美国运动员薪酬最高的几大联赛之一,在2023-2024赛季,斯蒂芬库 里获得了超过5191万美元的薪资,勒布朗詹姆斯获得了超过4447万美元的薪资, 由于每支球队都有工资上限,作为球队管理人员如何更有效的确定球员薪水(避免溢价合同)是十分重要的。本任务就是对NBA球员数据集做相关分析来了解球员和球队相关指标,进而帮助球队做出有益的决策。
【具体任务】
1、使用seaborn分别绘制球员薪水、效率值、年龄这三个字段数据的直方图,图中需包含核密度图。并且使这三张图绘制在一个3 * 1的画布中,画布大小为(15, 15),dpi为100,主题使用“dark”,y轴标签分别设置为各自的字段名。绘制完成后将直方图粘贴到答题报告对应位置。
列名 | 字段说明 |
---|---|
Date | 日期 |
Open | 开盘价 |
High | 最高价 |
Low | 最低价 |
Close | 收盘价 |
Adj Close | 调整后的收盘价 |
Volume | 成交量 |
本任务需要使用Numpy、Pandas、Matplotlib、Seaborn等库按要求对数据进行处理及分析,然后将结果进行可视化。
请在“Desktop/大数据应用与服务竞赛/模块三/任务四 基于Python实现金融类数据分析/stock”项目下的“amazon.py”模块中编写代码实现功能,数据集在项目的“data”目录中。
绘图过程中如有使用中文字体的地方,请统一使用“SimSun”字体。
【任务需求背景】
股票数据分析是对股票交易数据进行分析、归纳、反映和挖掘等过程的总称。它可以帮助分析人员从繁杂的股票数据中获取有价值的信息,推测市场变化趋势,并作出相应的决策。在当前股票交易市场,股票数据分析已经成为一种必备的工具,它可以帮助投资者规避风险、获取收益。除此之外,通过股票数据分析,可以发掘公司经营、市场变化等有关信息,推断股票入市和出市的最佳时机。
随着互联网的普及和金融领域的不断创新,股票交易已经变得越来越普遍, 也越来越复杂。在这样一个背景下,股票数据分析的作用越来越凸显。本任务将对亚马逊股票数据分析作出深入剖析,以期从中挖掘出一些有用的信息。
【具体任务】
1、使用DataFrame对象提供的相关方法绘制股票(收盘价)的整体走势图,
画布大小为(15, 10);横轴为“Date”,竖轴为“Close”,标签分别为“日期”和“股价”;标题为“amazon股价整体走势”,线条颜色为“#FF6633”,刻度标签旋转30度。绘制完成后将走势图粘贴到答题报告对应位置。