模块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)相关推荐

  1. 2022年大数据技能大赛国赛(模块A,B)

    2022年全国职业院校技能大赛(高职组) "大数据技术与应用" 赛项赛卷(1卷) 背景描述 大数据时代背景下,电商经营模式发生很大改变.在传统运营模式中,缺乏数据积累,人们在做出一 ...

  2. 2022年北京大数据技能大赛“隐私计算”赛道初赛完结!12强出炉

    10月14日,2022年北京大数据技能大赛"隐私计算"赛道初赛顺利结束,阶段性成果初现. 前情提要 | 速来!2022北京大数据技能大赛隐私计算赛道可以提交了! 2022年北京大数 ...

  3. 2021年全国职业院校技能大赛大数据应用技术国赛题

    2021年全国职业院校技能大赛 高职组 "大数据技术与应用" 赛项赛卷(GZ-xxxxxxx-X卷) 任 务 书 参赛队编号: 背景描述 据央视财经报道,2020年我国O2O市场规 ...

  4. 2021 年广东省职业院校技能大赛(国赛遴选赛卷(A))

    2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项 国赛遴选赛卷(A) 技能要求 (总分 1000 分) 2 / 29 竞赛说明 一.竞赛内容分布 "网络搭建与应用" ...

  5. 大数据技能大赛题目(高职组,模块C和D)

    模块C:数据清洗与挖掘分析(25分) 项目背景说明 餐饮外卖平台的核心价值体现在配送,而配送的价值则依赖于商家与客户的双向选择.外卖平台通常会通过内容激活消费者和商家两个群体的活跃度.消费者会参考平台 ...

  6. 大数据技能大赛任务一:数据抽取

    编写Scala工程代码,将MySQL的shtd_store库中表CUSTOMER.NATION.PART.PARTSUPP.REGION.SUPPLIER的数据全量抽取到Hive的ods库中对应表cu ...

  7. 全国职业院校技能大赛2022年大数据技术与应用平台搭建

    前言 根据全国职业院校技能大赛2022年大数据技术与应用规程整理大数据平台搭建部分,如果有错误指出请提出改正,谢谢 资料 赛程文件 链接:https://pan.baidu.com/s/1TAygWq ...

  8. 2022年山东省职业院校技能大赛网络搭建与应用赛项正式赛题

    2022年山东省职业院校技能大赛 网络搭建与应用赛项 第二部分 网络搭建与安全部署&服务器配置及应用 竞赛说明: 一.竞赛内容分布 竞赛共分二个模块,其中: 第一模块:网络搭建及安全部署项目 ...

  9. 2022年山东省职业院校技能大赛高职组“信息安全管理与评估”赛项竞赛规程

    2022年山东省职业院校技能大赛 高职组"信息安全管理与评估"赛项竞赛规程 一.赛项名称 赛项名称:信息安全管理与评估 英文名称:InformationSecurity Manag ...

最新文章

  1. 2-51单片机ESP8266学习-AT指令(开发板51单片机自动冷启动下载原理)
  2. python 集合
  3. windows2008吃尽内存的解决办法
  4. rgb cmyk lab的区别
  5. C++中IDispatch接口
  6. 什么是 ABAP Field Symbol
  7. 创建一个坚固的备份系统
  8. 计算机网络中对等层,【计算机网络】两个网络模型——OSI参考模型和TCP/IP模型...
  9. 【Vue】路由Router传参的两种方式(详解)
  10. php访问日记在哪,nginx访问日志在哪里
  11. 韦东山: 作为一个初学者,怎样学习嵌入式Linux?
  12. ppt插入计算机时间,WPS之PPT插入自动更新的时间设置
  13. 期货发展的几个重要时间点和事件
  14. panic 和 recover
  15. iOS weak关键字实现原理
  16. 2D人体姿态估计 - Stakced Hourglass Network(SHN)个人理解
  17. 汽车数据分析,2022年汽车产量总体高于2021年,年产量增长了6%左右
  18. 【机器学习】缺失值的处理方法总结
  19. web中的清除浮动方法
  20. linux挂载4T及以上硬盘

热门文章

  1. Zune software is not installed. Install the latest version of Zune software.
  2. 2016年10月13日 星期四 --出埃及记 Exodus 18:24
  3. 在MS CRM中使用Excel导入/导出的功能对数据进行批量处理
  4. Mysql框架<二> 行式存储与列式存储
  5. 腾讯案例实战!聊聊设计中「需求」的正确打开方式
  6. MongoDB基础教程笔记
  7. 2021-10-24 git ES6 NodeJS面试题三
  8. docker 最新版本升级
  9. 需求工程软件建模与分析阅读笔记01
  10. matlab求解非线性常微分方程组,Matlab数值求解非线性常微分方程 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...