2022年大数据技能大赛国赛(模块C,D)
模块C:数据挖掘(10分)
环境说明:
服务端登录地址详见各模块服务端说明。
补充说明:各主机可通过Asbru工具或SSH客户端进行SSH访问;
Master节点MySQL数据库用户名/密码:root/123456(已配置远程连接);
Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/
Spark任务在Yarn上用Client运行,方便观察日志。
该模块均使用Scala编写,利用Spark相关库完成。
任务一:特征工程
剔除订单信息表与订单详细信息表中用户id与商品id不存在现有的维表中的记录,同时建议多利用缓存并充分考虑并行度来优化代码,达到更快的计算效果。
1、根据Hive的dwd库中相关表或MySQL中shtd_store中相关表(order_detail、sku_info),计算出与用户id为6708的用户所购买相同商品种类最多的前10位用户(只考虑他俩购买过多少个相同的商品,不考虑相同的商品买了多少次),将10位用户id进行输出,输出格式如下,将结果截图粘贴至报告中:
结果格式如下:
-------------------相同种类前10的id结果展示为:--------------------
1,2,901,4,5,21,32,91,14,52
2、根据Hive的dwd库中相关表或MySQL中shtd_store中相关商品表(sku_info),获取id、spu_id、price、weight、tm_id、category3_id 这六个字段并进行数据预处理,对price、weight进行规范化(StandardScaler)处理,对spu_id、tm_id、category3_id进行one-hot编码处理(若该商品属于该品牌则置为1,否则置为0),并按照id进行升序排序,在集群中输出第一条数据前10列(无需展示字段名),将结果截图粘贴至报告中。
字段 | 类型 | 中文含义 | 备注 |
---|---|---|---|
id | double | 主键 | |
price | double | 价格 | |
weight | double | 重量 | |
spu_id#1 | double | spu_id 1 | 若属于该spu_id,则内容为1否则为0 |
spu_id#2 | double | spu_id 2 | 若属于该spu_id,则内容为1否则为0 |
… | double | ||
tm_id#1 | double | 品牌1 | 若属于该品牌,则内容为1否则为0 |
tm_id#2 | double | 品牌2 | 若属于该品牌,则内容为1否则为0 |
…… | double | ||
category3_id#1 | double | 分类级别3 1 | 若属于该分类级别3,则内容为1否则为0 |
category3_id#2 | double | 分类级别3 2 | 若属于该分类级别3,则内容为1否则为0 |
…… |
答案格式如下:
--------------------第一条数据前10列结果展示为:---------------------
1.0,0.89,0.72,0.0,0.0,0.0,0.0,1.0,0.0,0.0
任务二:推荐系统
1、根据任务一的结果,计算出与用户id为6708的用户所购买相同商品种类最多的前10位用户id(只考虑他俩购买过多少个相同的商品,不考虑相同的商品买了多少次),并根据Hive的dwd库中相关表或MySQL数据库shtd_store中相关表,获取到这10位用户已购买过的商品,并剔除用户6708已购买的商品,通过计算这10位用户已购买商品与该数据集中商品的余弦相似度累加再求均值,输出相似度前5商品id作为推荐使用,将执行结果截图粘贴至对应报告中。
结果格式如下:
------------------------推荐Top5结果如下------------------------
相似度top1(商品id:1,平均相似度:0.98)
相似度top2(商品id:71,平均相似度:0.78)
相似度top3(商品id:22,平均相似度:0.76)
相似度top4(商品id:351,平均相似度:0.73)
相似度top5(商品id:14,平均相似度:0.52)
模块D:数据采集与实时计算(20分)
环境说明:
服务端登录地址详见各模块服务端说明。
补充说明:各主机可通过Asbru工具或SSH客户端进行SSH访问;
请先检查ZooKeeper、Kafka、Redis端口是否已启动,若未启动则各启动命令如下:
ZK启动(netstat -ntlp查看2181端口是否打开)
/usr/zk/zookeeper-3.4.6/bin/zkServer.sh start
Redis启动(netstat -ntlp查看6379端口是否打开)
/usr/redis/bin/redis-server /usr/redis/bin/redis.conf
Kafka启动(netstat -ntlp查看9092端口是否打开)
/opt/kafka/kafka_2.11-2.0.0/bin/kafka-server-start.sh -daemon(空格连接下一行)/opt/kafka/kafka_2.11-2.0.0/config/server.properties
Flink任务在Yarn上用per job模式(即Job分离模式,不采用Session模式),方便Yarn回收资源。
任务一:实时数据采集
1、在Master节点使用Flume采集实时数据生成器10050端口的socket数据,将数据存入到Kafka的Topic中(Topic名称为order,分区数为4),使用Kafka自带的消费者消费order(Topic)中的数据,将前2条数据的结果截图粘贴至对应报告中;
2、采用多路复用模式,Flume接收数据注入kafka 的同时,将数据备份到HDFS目录/user/test/flumebackup下,将查看备份目录下的第一个文件的前2条数据的命令与结果截图粘贴至对应报告中。
任务二:使用Flink处理Kafka中的数据
编写Scala代码,使用Flink消费Kafka中Topic为order的数据并进行相应的数据统计计算(订单信息对应表结构order_info,订单详细信息对应表结构order_detail(来源类型和来源编号这两个字段不考虑,所以在实时数据中不会出现),同时计算中使用order_info或order_detail表中create_time或operate_time取两者中值较大者作为EventTime,若operate_time为空值或无此属性,则使用create_time填充,允许数据延迟5S,订单状态分别为1001:创建订单、1002:支付订单、1003:取消订单、1004:完成订单、1005:申请退回、1006:退回完成。另外对于数据结果展示时,不要采用例如:1.9786518E7的科学计数法)。
1、使用Flink消费Kafka中的数据,统计商城实时订单实收金额(需要考虑订单状态,若有取消订单、申请退回、退回完成则不计入订单实收金额,其他状态的则累加),将key设置成totalprice存入Redis中。使用redis cli以get key方式获取totalprice值,将结果截图粘贴至对应报告中,需两次截图,第一次截图和第二次截图间隔1分钟以上,第一次截图放前面,第二次截图放后面;
2、在任务1进行的同时,使用侧边流,监控若发现order_status字段为退回完成, 将key设置成totalrefundordercount存入Redis中,value存放用户退款消费额。使用redis cli以get key方式获取totalrefundordercount值,将结果截图粘贴至对应报告中,需两次截图,第一次截图和第二次截图间隔1分钟以上,第一次截图放前面,第二次截图放后面;
3、在任务1进行的同时,使用侧边流,监控若发现order_status字段为取消订单,将数据存入MySQL数据库shtd_result的order_info表中,然后在Linux的MySQL命令行中根据id降序排序,查询列id、consignee、consignee_tel、final_total_amount、feight_fee,查询出前5条,将SQL语句与执行结果截图粘贴至对应报告中。
2022年大数据技能大赛国赛(模块C,D)相关推荐
- 2022年大数据技能大赛国赛(模块A,B)
2022年全国职业院校技能大赛(高职组) "大数据技术与应用" 赛项赛卷(1卷) 背景描述 大数据时代背景下,电商经营模式发生很大改变.在传统运营模式中,缺乏数据积累,人们在做出一 ...
- 2022年北京大数据技能大赛“隐私计算”赛道初赛完结!12强出炉
10月14日,2022年北京大数据技能大赛"隐私计算"赛道初赛顺利结束,阶段性成果初现. 前情提要 | 速来!2022北京大数据技能大赛隐私计算赛道可以提交了! 2022年北京大数 ...
- 2021年全国职业院校技能大赛大数据应用技术国赛题
2021年全国职业院校技能大赛 高职组 "大数据技术与应用" 赛项赛卷(GZ-xxxxxxx-X卷) 任 务 书 参赛队编号: 背景描述 据央视财经报道,2020年我国O2O市场规 ...
- 2021 年广东省职业院校技能大赛(国赛遴选赛卷(A))
2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项 国赛遴选赛卷(A) 技能要求 (总分 1000 分) 2 / 29 竞赛说明 一.竞赛内容分布 "网络搭建与应用" ...
- 大数据技能大赛题目(高职组,模块C和D)
模块C:数据清洗与挖掘分析(25分) 项目背景说明 餐饮外卖平台的核心价值体现在配送,而配送的价值则依赖于商家与客户的双向选择.外卖平台通常会通过内容激活消费者和商家两个群体的活跃度.消费者会参考平台 ...
- 大数据技能大赛任务一:数据抽取
编写Scala工程代码,将MySQL的shtd_store库中表CUSTOMER.NATION.PART.PARTSUPP.REGION.SUPPLIER的数据全量抽取到Hive的ods库中对应表cu ...
- 全国职业院校技能大赛2022年大数据技术与应用平台搭建
前言 根据全国职业院校技能大赛2022年大数据技术与应用规程整理大数据平台搭建部分,如果有错误指出请提出改正,谢谢 资料 赛程文件 链接:https://pan.baidu.com/s/1TAygWq ...
- 2022年山东省职业院校技能大赛网络搭建与应用赛项正式赛题
2022年山东省职业院校技能大赛 网络搭建与应用赛项 第二部分 网络搭建与安全部署&服务器配置及应用 竞赛说明: 一.竞赛内容分布 竞赛共分二个模块,其中: 第一模块:网络搭建及安全部署项目 ...
- 2022年山东省职业院校技能大赛高职组“信息安全管理与评估”赛项竞赛规程
2022年山东省职业院校技能大赛 高职组"信息安全管理与评估"赛项竞赛规程 一.赛项名称 赛项名称:信息安全管理与评估 英文名称:InformationSecurity Manag ...
最新文章
- 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)
- python 集合
- windows2008吃尽内存的解决办法
- rgb cmyk lab的区别
- C++中IDispatch接口
- 什么是 ABAP Field Symbol
- 创建一个坚固的备份系统
- 计算机网络中对等层,【计算机网络】两个网络模型——OSI参考模型和TCP/IP模型...
- 【Vue】路由Router传参的两种方式(详解)
- php访问日记在哪,nginx访问日志在哪里
- 韦东山: 作为一个初学者,怎样学习嵌入式Linux?
- ppt插入计算机时间,WPS之PPT插入自动更新的时间设置
- 期货发展的几个重要时间点和事件
- panic 和 recover
- iOS weak关键字实现原理
- 2D人体姿态估计 - Stakced Hourglass Network(SHN)个人理解
- 汽车数据分析,2022年汽车产量总体高于2021年,年产量增长了6%左右
- 【机器学习】缺失值的处理方法总结
- web中的清除浮动方法
- linux挂载4T及以上硬盘
热门文章
- Zune software is not installed. Install the latest version of Zune software.
- 2016年10月13日 星期四 --出埃及记 Exodus 18:24
- 在MS CRM中使用Excel导入/导出的功能对数据进行批量处理
- Mysql框架<二> 行式存储与列式存储
- 腾讯案例实战!聊聊设计中「需求」的正确打开方式
- MongoDB基础教程笔记
- 2021-10-24 git ES6 NodeJS面试题三
- docker 最新版本升级
- 需求工程软件建模与分析阅读笔记01
- matlab求解非线性常微分方程组,Matlab数值求解非线性常微分方程 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...