网站域名到期会怎么样,wordpress插件推荐,手机能用的网站,私自做彩票网站销售犯法么任务C#xff1a;数据挖掘#xff08;10分#xff09; 所有模块都有#xff0c;不是白嫖#xff01;#xff01;有需要可以联系我 环境说明#xff1a; 服务端登录地址详见各任务服务端说明。 补充说明#xff1a;各节点可通过Asbru工具或SSH客户端进行SSH访问#xf…任务C数据挖掘10分 所有模块都有不是白嫖有需要可以联系我 环境说明 服务端登录地址详见各任务服务端说明。 补充说明各节点可通过Asbru工具或SSH客户端进行SSH访问 主节点MySQL数据库用户名/密码root/123456已配置远程连接 Spark任务在Yarn上用Client运行方便观察日志。 该任务均使用Scala编写利用Spark相关库完成。 子任务一特征工程
剔除订单信息表与订单详细信息表中用户id与商品id不存在于现有的维表中的记录同时建议多利用缓存并充分考虑并行度来优化代码达到更快的计算效果。 1、据Hudi的dwd_ds_hudi库中相关表或MySQL数据库shtd_store中订单相关表order_detail、order_info、sku_info对用户购买过的商品进行去重将其转换为以下格式第一列为用户id mapping第二列为用户购买过的商品id mapping按照user_id与sku_id进行升序排序输出前5行将结果截图粘贴至客户端桌面【Release\任务C提交结果.docx】中对应的任务序号下 字段 类型 中文含义 备注 user_id int 用户id的mapping对应键 sku_id int 商品id的mapping对应键 提示 Mapping操作例如用户id1、4、7、8、9则做完mapping操作转为字典类型键0对应用户id 1键1对应用户id 4以此类推 2、根据第1小题的结果对其进行聚合其中对sku_id进行one-hot转换将其转换为以下格式矩阵第一列为用户id其余列名为商品id按照用户id进行升序排序展示矩阵第一行前5列数据将结果截图粘贴至客户端桌面【Release\任务C提交结果.docx】中对应的任务序号下。 字段 类型 中文含义 备注 user_id double 客户key sku_id0 double 用户是否购买过商品1 若用户购买过该商品则值为1否则为0 sku_id1 double 用户是否购买过商品2 若用户购买过该商品则值为1否则为0 sku_id2 double 用户是否购买过商品3 若用户购买过该商品则值为1否则为0
子任务二推荐系统
1、根据子任务一的结果对其进行SVD分解对数据进行降维保留前5个奇异值信息根据该用户已购买的商品分别与未购买的商品计算余弦相似度再进行累加求均值将均值最大的5件商品id进行输出作为推荐使用。将输出结果截图粘贴至客户端桌面【Release\任务C提交结果.docx】中对应的任务序号下。 结果格式如下
------------------------推荐Top5结果如下------------------------ 相似度top1(商品id1平均相似度0.983456) 相似度top2(商品id71平均相似度0.782672) 相似度top3(商品id22平均相似度0.7635246) 相似度top4(商品id351平均相似度0.7335748) 相似度top5(商品id14平均相似度0.522356)
任务D数据采集与实时计算20分
环境说明 服务端登录地址详见各任务服务端说明。 补充说明各节点可通过Asbru工具或SSH客户端进行SSH访问 Flink任务在Yarn上用per job模式即Job分离模式不采用Session模式方便Yarn回收资源。
子任务一实时数据采集
1、在主节点使用Flume采集实时数据生成器10050端口的socket数据将数据存入到Kafka的Topic中Topic名称为order分区数为4使用Kafka自带的消费者消费orderTopic中的数据将前2条数据的结果截图粘贴至客户端桌面【Release\任务D提交结果.docx】中对应的任务序号下
2、采用多路复用模式Flume接收数据注入kafka 的同时将数据备份到HDFS目录/user/test/flumebackup下将查看备份目录下的第一个文件的前2条数据的命令与结果截图粘贴至客户端桌面【Release\任务D提交结果.docx】中对应的任务序号下。 子任务二使用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订单状态order_status分别为1001:创建订单、1002:支付订单、1003:取消订单、1004:完成订单、1005:申请退回、1006:退回完成。另外对于数据结果展示时不要采用例如1.9786518E7的科学计数法。 1、使用Flink消费Kafka中的数据统计商城实时订单数量需要考虑订单状态若有取消订单、申请退回、退回完成则不计入订单数量其他状态则累加将key设置成totalcount存入Redis中。使用redis cli以get key方式获取totalcount值将结果截图粘贴至客户端桌面【Release\任务D提交结果.docx】中对应的任务序号下需两次截图第一次截图和第二次截图间隔1分钟以上第一次截图放前面第二次截图放后面
2、在任务1进行的同时使用侧边流使用Flink消费Kafka中的订单详细信息的数据实时统计商城中销售量前3的商品不考虑订单状态不考虑打折将key设置成top3itemamount存入Redis中value使用String数据格式value为前3的商品信息并且外层用[]包裹其中按排序依次存放商品id:销售量并用逗号分割。使用redis cli以get key方式获取top3itemamount值将结果截图粘贴至客户端桌面【Release\任务D提交结果.docx】中对应的任务序号下需两次截图第一次截图和第二次截图间隔1分钟以上第一次截图放前面第二次截图放后面 示例如下 top3itemamount[1:700,42:500,41:100]
3、在任务1进行的同时使用侧边流使用Flink消费Kafka中的订单详细信息的数据实时统计商城中销售额前3的商品不考虑订单状态不考虑打折销售额为order_price*sku_num将key设置成top3itemconsumption存入Redis中value使用String数据格式value为前3的商品信息并且外层用[]包裹其中按排序依次存放商品id:销售额并用逗号分割。使用redis cli以get key方式获取top3itemconsumption值将结果截图粘贴至客户端桌面【Release\任务D提交结果.docx】中对应的任务序号下需两次截图第一次截图和第二次截图间隔1分钟以上第一次截图放前面第二次截图放后面。 示例如下 top3itemconsumption[1:10020.2,42:4540.0,12:540]