(全国职业技能比赛:高职)GZ033大数据应用开发赛题第03套.docx

上传人:gj****cr 文档编号:96661387 上传时间:2024-02-22 格式:DOCX 页数:22 大小:46.75KB
返回 下载 相关 举报
(全国职业技能比赛:高职)GZ033大数据应用开发赛题第03套.docx_第1页
第1页 / 共22页
(全国职业技能比赛:高职)GZ033大数据应用开发赛题第03套.docx_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第03套.docx》由会员分享,可在线阅读,更多相关《(全国职业技能比赛:高职)GZ033大数据应用开发赛题第03套.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2023年全国职业院校技能大赛赛题第03套赛项名称: 大数据应用开发 英文名称: Big Data Application Development 赛项组别: 高等职业教育组 赛项编号: GZ033 背景描述大数据时代背景下,电商经营模式发生很大改变。在传统运营模式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准确。商家可以对客户的消费行为信息数据进行收集和整理,比如消费者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周期、购买产品的目的、消费者家庭背景、

2、工作和生活环境、个人消费观和价值观等。通过数据追踪,知道顾客从哪儿来,是看了某网站投放的广告还是通过朋友推荐链接,是新访客还是老用户,喜欢浏览什么产品,购物车有无商品,是否清空,还有每一笔交易记录,精准锁定一定年龄、收入、对产品有兴趣的顾客,对顾客进行分组、标签化,通过不同标签组合运用,获得不同目标群体,以此开展精准推送。因数据驱动的零售新时代已经到来,没有大数据,我们无法为消费者提供这些体验,为完成电商的大数据分析工作,你所在的小组将应用大数据技术,以Scala作为整个项目的基础开发语言,基于大数据平台综合利用Hive、Spark、Flink、Vue.js等技术,对数据进行处理、分析及可视化

3、呈现,你们作为该小组的技术人员,请按照下面任务完成本次工作。任务A:大数据平台搭建(容器环境)(15分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:宿主机及各容器节点可通过Asbru工具或SSH客户端进行SSH访问。MySQL已在容器的Master中安装完毕,用户名/密码为root/123456子任务一:Hadoop HA安装配置本任务需要使用root用户完成相关配置,安装Hadoop需要配置前置环境。命令中要求使用绝对路径,具体要求如下:1、 从宿主机/opt目录下将文件hadoop-3.1.3.tar.gz、jdk-8u212-linux-x64.tar.gz,apache-z

4、ookeeper-3.5.7-bin.tar.gz复制到容器Master中的/opt/software路径中(若路径不存在,则需新建),分别将Master节点Hadoop、Zookeeper、JDK安装包解压到/opt/module路径中(若路径不存在,则需新建),其中将JDK、Hadoop解压命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、 请完成host相关配置,将三个节点分别命名为master、slave1、slave2并做免密登录,修改容器中/etc/profile文件,设置JDK环境变量并使其生效,分发jdk至slave1、slave2中,

5、均配置完毕后在Master节点分别执行“java -version”和“javac”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、 配置好zookeeper,其中zookeeper使用集群模式,分别在master、slave1、slave2作为其集群的节点,使用zkServer.sh status获取zookeeper服务端状态,将命令和结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下(注:只截取三个节点中zookeeper server角色模式为leader的节点);4、 配置好Hadoo

6、p HA,请将dfs.ha.namenodes.hadoopcluster设置为nn1、nn2,同时yarn.resourcemanager.ha.rm-ids设置为rm1、rm2,并在Master启动nn1与rm1,在slave1启动nn2与rm2,将master、slave1、slave2均作为datanode,分发hadoop至slave1、slave2中,启动yarn与hdfs的HA集群(Hadoop HA集群),并在Master节点上使用命令分别查看服务nn2与rm2进程状态,并将查看命令及结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;5、 H

7、adoop HA配置并启动完毕后,使用jps在slave1节点查看服务进程,将查看命令及结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。子任务二:Hive安装配置本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:1、 从宿主机/opt目录下将文件apache-hive-3.1.2-bin.tar.gz、mysql-connector-java-5.1.37.jar复制到容器Master中的/opt/software路径中(若路径不存在,则需新建),将Master节点Hive安装包解压到/opt/module目录下,

8、将命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、 设置Hive环境变量,并使环境变量生效,执行命令hive -version并将命令与结果截图容复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、 完成相关配置并添加所依赖包,将MySQL数据库作为Hive元数据库。初始化Hive元数据,并通过schematool相关命令执行初始化,将初始化结果截图(范围为命令执行结束的最后10行)复制粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。子任务三:Kafka安装配置本任务需要使用root用

9、户完成相关配置,需要配置前置环境,具体要求如下:1、 从宿主机/opt目录下将文件apache-zookeeper-3.5.7-bin.tar.gz、kafka_2.12-2.4.1.tgz复制到容器Master中的/opt/software路径中(若路径不存在,则需新建),将Master节点Zookeeper,Kafka安装包解压到/opt/module目录下,将Kafka解压命令复制并粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;2、 配置好ZooKeeper,其中ZooKeeper使用集群模式,分别将Master、slave1、slave2作为其节点(若Z

10、ooKeeper已安装配置好,则无需再次配置),配置好Kafka的环境变量,使用kafka-server-start.sh -version查看Kafka的版本内容,并将命令和结果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下;3、 完善其他配置并分发Kafka文件到slave1、slave2中,并在每个节点启动Kafka,创建Topic,其中Topic名称为installtopic,分区数为2,副本数为2,将创建命令和创建成果截图粘贴至客户端桌面【Release任务A提交结果.docx】中对应的任务序号下。任务B:离线数据处理(25分)环境说明:服务端登录地

11、址详见各任务服务端说明。补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;主节点MySQL数据库用户名/密码:root/123456(已配置远程连接);Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/ Spark任务在Yarn上用Client运行,方便观察日志。子任务一:数据抽取编写Scala代码,使用Spark将MySQL的shtd_store库中表user_info、sku_info、base_province、base_region、order_info、order_detail的数据增量抽取到Hive的ods库中对应表user_in

12、fo、sku_info、base_province、base_region、order_info、order_detail中。(若ods库中部分表没有数据,正常抽取即可) 1、 抽取shtd_store库中user_info的增量数据进入Hive的ods库中表user_info。根据ods.user_info表中operate_time或create_time作为增量字段(即MySQL中每条数据取这两个时间中较大的那个时间作为增量字段去和ods里的这两个字段中较大的时间进行比较),只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当

13、前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.user_info命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;2、 抽取shtd_store库中sku_info的增量数据进入Hive的ods库中表sku_info。根据ods.sku_info表中create_time作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行s

14、how partitions ods.sku_info命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;3、 抽取shtd_store库中base_province的增量数据进入Hive的ods库中表base_province。根据ods.base_province表中id作为增量字段,只将新增的数据抽入,字段名称、类型不变并添加字段create_time取当前时间,同时添加静态分区,分区字段类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.base_p

15、rovince命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;4、 抽取shtd_store库中base_region的增量数据进入Hive的ods库中表base_region。根据ods.base_region表中id作为增量字段,只将新增的数据抽入,字段名称、类型不变并添加字段create_time取当前时间,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.base_region命令,将结果截图粘贴至

16、对应报告中;5、 抽取shtd_store库中order_info的增量数据进入Hive的ods库中表order_info,根据ods.order_info表中operate_time或create_time作为增量字段(即MySQL中每条数据取这两个时间中较大的那个时间作为增量字段去和ods里的这两个字段中较大的时间进行比较),只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.order_info命令,将结果截

17、图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;6、 抽取shtd_store库中order_detail的增量数据进入Hive的ods库中表order_detail,根据ods.order_detail表中create_time作为增量字段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hive cli执行show partitions ods.order_detail命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.d

18、ocx】中对应的任务序号下。子任务二:数据清洗编写Scala代码,使用Spark将ods库中相应表数据全量抽取到Hive的dwd库中对应表中。表中有涉及到timestamp类型的,均要求按照yyyy-MM-dd HH:mm:ss,不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-dd HH:mm:ss。(若dwd库中部分表没有数据,正常抽取即可)1、 抽取ods库中user_info表中昨天的分区(子任务一生成的分区)数据,并结合dim_user_info最新分区现有的数据,根据id合并数据到dwd库中dim_user_info的分区表(

19、合并是指对dwd层数据进行插入或修改,需修改的数据以id为合并字段,根据operate_time排序取最新的一条),分区字段为etl_date且值与ods库的相对应表该值相等,同时若operate_time为空,则用create_time填充,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”。若该条记录第一次进入数仓dwd层则dwd_insert_time、dwd_modify_time均存当前操作时间,并进行数据类型转

20、换。若该数据在进入dwd层时发生了合并修改,则dwd_insert_time时间不变,dwd_modify_time存当前操作时间,其余列存最新的值。使用hive cli执行show partitions dwd.dim_user_info命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;2、 抽取ods库sku_info表中昨天的分区(子任务一生成的分区)数据,并结合dim_sku_info最新分区现有的数据,根据id合并数据到dwd库中dim_sku_info的分区表(合并是指对dwd层数据进行插入或修改,需修改的数据以id为合并字段,根据cre

21、ate_time排序取最新的一条),分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”。若该条数据第一次进入数仓dwd层则dwd_insert_time、dwd_modify_time均填写当前操作时间,并进行数据类型转换。若该数据在进入dwd层时发生了合并修改,则dwd_insert_time时间不变,dwd_modify_time存当前操作时间,其余列存最新的

22、值。使用hive cli查询表dim_sku_info的字段id、sku_desc、dwd_insert_user、dwd_modify_time、etl_date,条件为最新分区的数据,id大于等于15且小于等于20,并且按照id升序排序,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;3、 抽取ods库base_province表中昨天的分区(子任务一生成的分区)数据,并结合dim_province最新分区现有的数据,根据id合并数据到dwd库中dim_province的分区表(合并是指对dwd层数据进行插入或修改,需修改的数据以id为合并字段,根据

23、create_time排序取最新的一条),分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”。若该条数据第一次进入数仓dwd层则dwd_insert_time、dwd_modify_time均填写当前操作时间,并进行数据类型转换。若该数据在进入dwd层时发生了合并修改,则dwd_insert_time时间不变,dwd_modify_time存当前操作时间,其余列存

24、最新的值。使用hive cli在表dwd.dim_province最新分区中,查询该分区中数据的条数,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;4、 抽取ods库base_region表中昨天的分区(子任务一生成的分区)数据,并结合dim_region最新分区现有的数据,根据id合并数据到dwd库中dim_region的分区表(合并是指对dwd层数据进行插入或修改,需修改的数据以id为合并字段,根据create_time排序取最新的一条),分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_in

25、sert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”。若该条数据第一次进入数仓dwd层则dwd_insert_time、dwd_modify_time均填写当前操作时间,并进行数据类型转换。若该数据在进入dwd层时发生了合并修改,则dwd_insert_time时间不变,dwd_modify_time存当前操作时间,其余列存最新的值。使用hive cli在表dwd.dim_region最新分区中,查询该分区中数据的条数,将结果内容截图粘贴至客户端桌面【Release任务B提

26、交结果.docx】中对应的任务序号下;5、 将ods库中order_info表昨天的分区(子任务一生成的分区)数据抽取到dwd库中fact_order_info的动态分区表,分区字段为etl_date,类型为String,取create_time值并将格式转换为yyyyMMdd,同时若operate_time为空,则用create_time填充,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_ti

27、me、dwd_modify_time均填写当前操作时间,并进行数据类型转换。使用hive cli执行show partitions dwd.fact_order_info命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;6、 将ods库中order_detail表昨天的分区(子任务一中生成的分区)数据抽取到dwd库中fact_order_detail的动态分区表,分区字段为etl_date,类型为String,取create_time值并将格式转换为yyyyMMdd,并添加dwd_insert_user、dwd_insert_time、dwd_mod

28、ify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间,并进行数据类型转换。使用hive cli执行show partitions dwd.fact_order_detail命令,将结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下。子任务三:指标计算编写Scala代码,使用Spark计算相关指标。注:在指标计算中,不考虑订单信息表中order_status字段的值,将所有订单视为有效订单。计算

29、订单金额或订单总金额时只使用final_total_amount字段。需注意dwd所有的维表取最新的分区。1、 本任务基于以下2、3、4小题完成,使用Azkaban完成第2、3、4题任务代码的调度。工作流要求,使用shell输出“开始”作为工作流的第一个job(job1),2、3、4题任务为串行任务且它们依赖job1的完成(命名为job2、job3、job4),job2、job3、job4完成之后使用shell输出“结束”作为工作流的最后一个job(endjob),endjob依赖job2、job3、job4,并将最终任务调度完成后的工作流截图,将截图粘贴至客户端桌面【Release任务B提交

30、结果.docx】中对应的任务序号下;2、 根据dwd层表统计每个省每月下单的数量和下单的总金额,并按照year,month,region_id进行分组,按照total_amount降序排序,形成sequence值,将计算结果存入Hive的dws数据库province_consumption_day_aggr表中(表结构如下),然后使用hive cli根据订单总数、订单总金额、省份表主键均为降序排序,查询出前5条,在查询时对于订单总金额字段将其转为bigint类型(避免用科学计数法展示),将SQL语句复制粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下,将执行结果截图

31、粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;字段类型中文含义备注province_idint省份表主键province_namestring省份名称region_idint地区主键region_namestring地区名称total_amountdouble订单总金额当月订单总金额total_countint订单总数当月订单总数sequenceint次序yearint年订单产生的年,为动态分区字段monthint月订单产生的月,为动态分区字段3、 请根据dws层表province_consumption_day_aggr计算出每个省份2020年4月的平均订单金

32、额和该省所在地区平均订单金额相比较结果(“高/低/相同”),存入MySQL数据库shtd_result的provinceavgcmpregion表中(表结构如下),然后在Linux的MySQL命令行中根据省份表主键、省平均订单金额、地区平均订单金额均为降序排序,查询出前5条,将SQL语句复制粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;字段类型中文含义备注provinceidint省份表主键provincenametext省份名称provinceavgconsumptio

33、ndouble该省平均订单金额regionidint地区表主键regionnametext地区名称regionavgconsumptiondouble地区平均订单金额该省所在地区平均订单金额comparisontext比较结果省平均订单金额和该省所在地区平均订单金额比较结果,值为:高/低/相同4、 根据dws层表来计算每个地区2020年订单金额前3省份,依次存入MySQL数据库shtd_result的regiontopthree表中(表结构如下),然后在Linux的MySQL命令行中根据地区表主键升序排序,查询出前5条,将SQL语句复制粘贴至客户端桌面【Release任务B提交结果.docx】

34、中对应的任务序号下,将执行结果截图粘贴至客户端桌面【Release任务B提交结果.docx】中对应的任务序号下;字段类型中文含义备注regionidint地区表主键regionnametext地区名称provinceidstext省份表主键用,分割显示前三省份的idprovincenamestext省份名称用,分割显示前三省份的nameprovinceamounttext省份名称用,分割显示前三省份的订单金额(需要去除小数部分,使用四舍五入)例如:3华东地区21,27,11上海市,江苏省,浙江省100000,100,10任务C:数据挖掘(10分)环境说明:服务端登录地址详见各任务服务端说明。补

35、充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;主节点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中订单相关表(orde

36、r_detail、order_info、sku_info),对用户购买过的商品进行去重,将其转换为以下格式:第一列为用户id mapping,第二列为用户购买过的商品id mapping,按照user_id与sku_id进行升序排序,输出前5行,将结果截图粘贴至客户端桌面【Release任务C提交结果.docx】中对应的任务序号下;字段类型中文含义备注user_idint用户id的mapping对应键sku_idint商品id的mapping对应键提示:Mapping操作:例如用户id:1、4、7、8、9,则做完mapping操作转为字典类型,键0对应用户id 1,键1对应用户id 4,以此类

37、推结果格式如下:-user_id_mapping与sku_id_mapping数据前5条如下:-0:00:891:11:21:32、 根据第1小题的结果,对其进行聚合,其中对sku_id进行one-hot转换,将其转换为以下格式矩阵:第一列为用户id,其余列名为商品id,按照用户id进行升序排序,展示矩阵第一行前5列数据,将结果截图粘贴至客户端桌面【Release任务C提交结果.docx】中对应的任务序号下。字段类型中文含义备注user_iddouble客户keysku_id0double用户是否购买过商品1若用户购买过该商品,则值为1,否则为0sku_id1double用户是否购买过商品2若

38、用户购买过该商品,则值为1,否则为0sku_id2double用户是否购买过商品3若用户购买过该商品,则值为1,否则为0.结果格式如下:-第一行前5列结果展示为-0.0,1.0,0.0,0.0,0.0子任务二:推荐系统1、 根据子任务一的结果,对其进行SVD分解,对数据进行降维保留前5个奇异值信息,根据该用户已购买的商品分别与未购买的商品计算余弦相似度再进行累加求均值,将均值最大的5件商品id进行输出作为推荐使用。将输出结果截图粘贴至客户端桌面【Release任务C提交结果.docx】中对应的任务序号下。结果格式如下:-推荐Top5结果如下-相似度top1(商品id:1,平均相似度:0.983

39、456)相似度top2(商品id:71,平均相似度:0.782672)相似度top3(商品id:22,平均相似度:0.7635246)相似度top4(商品id:351,平均相似度:0.7335748)相似度top5(商品id:14,平均相似度:0.522356)任务D:数据采集与实时计算(20分)环境说明:服务端登录地址详见各任务服务端说明。补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;Flink任务在Yarn上用per job模式(即Job分离模式,不采用Session模式),方便Yarn回收资源。子任务一:实时数据采集1、 在主节点使用Flume采集实时数据生成器100

40、50端口的socket数据,将数据存入到Kafka的Topic中(Topic名称为order,分区数为4),使用Kafka自带的消费者消费order(Topic)中的数据,将前2条数据的结果截图粘贴至客户端桌面【Release任务D提交结果.docx】中对应的任务序号下;2、 采用多路复用模式,Flume接收数据注入kafka 的同时,将数据备份到HDFS目录/user/test/flumebackup下,将查看备份目录下的第一个文件的前2条数据的命令与结果截图粘贴至客户端桌面【Release任务D提交结果.docx】中对应的任务序号下。子任务二:使用Flink处理Kafka中的数据编写Sca

41、la代码,使用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:

42、完成订单、1005:申请退回、1006:退回完成。另外对于数据结果展示时,不要采用例如:1.9786518E7的科学计数法)。1、 使用Flink消费Kafka中的数据,实时统计商城中消费额前2的用户(需要考虑订单状态,若有取消订单、申请退回、退回完成则不计入订单消费额,其他的相加),将key设置成top2userconsumption存入Redis中(value使用String数据格式,value为前2的用户信息并且外层用包裹,其中按排序依次存放为该用户id:用户名称:消费总额,用逗号分割,其中用户名称为user_info表中的name字段,可从MySQL中获取)。使用redis cli以g

43、et key方式获取top2userconsumption值,将结果截图粘贴至客户端桌面【Release任务D提交结果.docx】中对应的任务序号下,需两次截图,第一次截图和第二次截图间隔1分钟以上,第一次截图放前面,第二次截图放后面(如有中文,需在redis-cli中展示中文);示例如下:top2userconsumption:1:张三:10020,42:李四:45402、 在任务1进行的同时,使用侧边流,计算每分钟内状态为取消订单占所有订单的占比,将key设置成cancelrate存入Redis中,value存放取消订单的占比(为百分比,保留百分比后的一位小数,四舍五入,例如12.1%)。

44、使用redis cli以get key方式获取cancelrate值,将结果截图粘贴至客户端桌面【Release任务D提交结果.docx】中对应的任务序号下,需两次截图,第一次截图和第二次截图间隔1分钟以上,第一次截图放前面,第二次截图放后面;3、 在任务1进行的同时,使用侧边流,监控order_status字段为取消订单的数据,将数据存入HBase数据库(namespace)shtd_result的order_info表中,rowkey为id的值,然后在Linux的HBase shell命令行中查询列consignee,并查询出任意5条,将执行结果截图粘贴至客户端桌面【Release模块D提

45、交结果.docx】中对应的任务序号下。表空间为:shtd_result,表为order_info,列族为:info字段类型注释rowkeystringHBase的主键,值为ididbigintconsigneestringconsignee_telstringfinal_total_amountdoubleorder_statusstringuser_idbigintdelivery_addressstringorder_commentstringout_trade_nostringtrade_bodystringcreate_timestring转成yyyy-MM-dd hh:mm:ss格式

46、的的字符串operate_timestring转成yyyy-MM-dd hh:mm:ss格式的的字符串expire_timestring转成yyyy-MM-dd hh:mm:ss格式的的字符串tracking_nostringparent_order_idbigintimg_urlstringprovince_idintbenefit_reduce_amountdouble任务E:数据可视化(15分)环境说明:数据接口地址及接口描述详见各任务服务端说明。子任务一:用柱状图展示各地区消费额的中位数编写Vue工程代码,根据接口,用柱状图展示2020年各地区所有订单消费额的中位数(降序排列,若有小数则四舍五入保留两位),同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴至客户端桌面【Release任务E提交结果.docx】中对应的任务序号下。子任务二:用饼状图展示各地区消费能力编写Vue工程代码,根据接口,用饼状图展示2020年各地区的消费总额占比,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴至客户端桌面【Release任务E提交结果.docx】中对应的任务序号下。子任务三:用散点图展示每年上架

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁