2023-2024职业院校技能大赛 高职组“大数据应用开发”赛项样卷

目录

背景描述

模块A:大数据平台搭建(容器环境)(10分)

任务一:Hadoop 完全分布式安装配置

任务二:HBase分布式部署

任务三:ClickHouse单机部署

模块B:数据采集(15分)

任务一:离线数据采集

任务二:实时数据采集

模块C:实时数据处理(25分)

任务一:实时数据清洗

任务二:实时指标计算

模块D:离线数据处理(20分)

任务一:离线数据清洗

任务二:离线指标计算

模块E:数据可视化(15分)

任务一:用柱状图展示消费额最高的省份

任务二:用饼状图展示各地区消费能力

任务三:用折线图展示每年上架商品数量变化

模块F:综合分析(10分)

附录:补充说明

命令行截图样例(保证清晰)

表结构说明

若IDEA运行代码时候出现



 

背景描述

大数据时代背景下,电商经营模式发生很大改变。在传统运营模式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准确。商家可以对客户的消费行为信息数据进行收集和整理,比如消费者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周期、购买产品的目的、消费者家庭背景、工作和生活环境、个人消费观和价值观等。通过数据追踪,知道顾客从哪儿来,是看了某网站投放的广告还是通过朋友推荐链接,是新访客还是老用户,喜欢浏览什么产品,购物车有无商品,是否清空,还有每一笔交易记录,精准锁定一定年龄、收入、对产品有兴趣的顾客,对顾客进行分组、标签化,通过不同标签组合运用,获得不同目标群体,以此开展精准推送。

因数据驱动的零售新时代已经到来,没有大数据,我们无法为消费者提供这些体验,为完成电商的大数据分析工作,你所在的小组将应用大数据技术,以Scala作为整个项目的基础开发语言,基于大数据平台综合利用Spark、Flink、Vue.js等技术,对数据进行处理、分析及可视化呈现,你们作为该小组的技术人员,请按照下面任务完成本次工作。

模块A:大数据平台搭建(容器环境)(10分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:宿主机可通过Asbru工具或SSH客户端进行SSH访问;

所有模块中应用命令必须采用绝对路径;

进入Master节点的方式为

docker exec -it master /bin/bash

进入Slave1节点的方式为

docker exec -it slave1 /bin/bash

进入Slave2节点的方式为

docker exec -it slave2 /bin/bash

三个容器节点的root密码均为123456

任务一:Hadoop 完全分布式安装配置

本环节需要使用root用户完成相关配置,安装Hadoop需要配置前置环境。命令中要求使用绝对路径,具体部署要求如下:

  1. 将容器Master节点JDK安装包解压并移动到/opt/module路径中(若路径不存在,则需新建),将命令复制并粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  2. 修改/etc/profile文件,设置JDK环境变量,配置完毕后在master节点分别执行“java -version”和“javac”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  3. 请完成host相关配置,将三个节点分别命名为master、slave1、slave2,并做免密登录,用scp命令并使用绝对路径从master复制JDK解压后的安装文件到slave1、slave2节点(若路径不存在,则需新建),并配置slave1、slave2相关环境变量,将全部复制命令复制并粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  4. 在容器Master将Hadoop解压到/opt/module(若路径不存在,则需新建)目录下,并将解压包分发至slave1、slave2中,其中master、slave1、slave2节点均作为datanode,配置好相关环境,初始化Hadoop环境namenode,将初始化命令及初始化结果截图(截取初始化结果结束倒数20行即可)复制粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  5. 启动Hadoop集群(包括hdfs和yarn),使用jps命令查看master节点与slave1节点的java进程,将jps命令与结果截图复制粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下。

任务二:HBase分布式部署

本环节需要使用root用户完成相关配置,安装HBase需要配置Hadoop和ZooKeeper等前置环境。命令中要求使用绝对路径,具体要求如下:

  1. 确认是否完成Hadoop和ZooKeeper的分布式安装部署,若没有请进行安装部署并启动。完成部署后在三个节点分别使用jps命令,并将结果分别截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  2. 将容器Master节点HBase安装包解压到/opt/module目录下,将解压命令复制并粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  3. 用scp命令并使用绝对路径从master复制HBase解压后的包分发至slave1、slave2中,并修改相关配置,配置好环境变量,在容器Master节点中运行命令hbase version,将全部复制命令复制并将hbase version命令的结果截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  4. 启动HBase后在三个节点分别使用jps命令查看,并将结果分别截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;正常启动后在hbase shell中查看命名空间,将查看命名空间的结果截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下。

任务三:ClickHouse单机部署

本环节需要使用root用户完成相关配置,具体要求如下:

  1. 将容器Master节点ClickHouse相关安装包解压到/opt/module/clickhouse目录下(若路径不存在,则需新建),将全部解压命令复制并粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  2. 执行启动各个相关脚本,将全部启动命令复制并将执行结果(截取结果最后倒数15行即可)截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  3. 设置远程访问并移除默认监听文件(listen.xml),同时由于9000端口被Hadoop占用,需要将clickhouse的端口更改为9001,将上述要求的设置远程访问配置文件配置截图、端口更改后配置文件配置复制并粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;
  4. 启动clickhouse,启动后查看clickhouse运行状态,并将启动命令复制、查看运行状态命令复制并将执行结果截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下。

模块B:数据采集15分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;

主节点MySQL数据库用户名/密码:root/123456(已配置远程连接);

Hive的配置文件位于主节点/opt/module/hive-3.1.2/conf/

Spark任务在Yarn上用Client运行,方便观察日志;

建议使用gson解析json数据。

任务一:离线数据采集

编写Scala工程代码,将MySQL的db库中表table1、table2、table3、table4、table5、table6、table7、table8、table9、table10、table11的数据增量抽取到Hive的ods库中对应表table1、table2、table3、table4、table5、table6、table7、table8、table9、table10、table11中。 

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

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

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

  1. 抽取db库中table4的增量数据进入Hive的ods库中表table4,增量字段取ods.table4表中time1、time2中的最大者,只将新增的数据抽入,字段名称、类型不变,同时添加静态分区,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用Hive Cli查询最新分区数据总条数,将执行结果截图粘贴至客户端桌面【Release\模块B提交结果.docx】中对应的任务序号下;

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

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

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

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

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

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

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

任务二:实时数据采集

  1. 在主节点使用Flume采集实时数据生成器XXXXX端口的socket数据,将数据存入到Kafka的Topic中,使用Kafka自带的消费者消费Topic中的数据,查看Topic中的前1条数据的结果,将查看命令与结果完整的截图粘贴至客户端桌面【Release\模块B提交结果.docx】中对应的任务序号下;

  1. 实时脚本启动后,在主节点进入到maxwell-1.29.0的解压后目录下,配置相关文件并启动,读取主节点MySQL数据的binlog日志到Kafka的Topic中。使用Kafka自带的消费者消费Topic中的数据,查看Topic中的前1条数据的结果,将查看命令与结果完整的截图粘贴至客户端桌面【Release\模块B提交结果.docx】中对应的任务序号下。

模块C:实时数据处理25分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;

主节点MySQL数据库用户名/密码:root/123456(已配置远程连接);  

Flink任务在Yarn上用per job模式(即Job分离模式,不采用Session模式),方便Yarn回收资源;

建议使用gson解析json数据。

任务一:实时数据清洗

编写Java代码,使用Flink消费Kafka中Topic的数据并进行相应的数据统计计算。

  1. 使用Flink消费Kafka中topic为topic1的数据,根据数据中不同的表将数据分别分发至kafka的DWD层的Topic中。使用Kafka自带的消费者消费Topic的前1条数据,将结果截图粘贴至客户端桌面【Release\模块C提交结果.docx】中对应的任务序号下;

  1. 使用Flink消费Kafka中topic为topic2的数据,将数据分别分发至kafka的DWD层的Topic中。使用Kafka自带的消费者消费Topic的前1条数据,将结果截图粘贴至客户端桌面【Release\模块C提交结果.docx】中对应的任务序号下;

  1. 在任务1、2进行的同时,需要将相关数据表备份至HBase中,使用HBase Shell查看ods:table1表的任意2条数据,查看字段为key1与key2、查看ods:table2表的任意2条数据,查看字段为key1与key2、查看ods:table3表的任意2条数据,查看字段为key1与key2。将结果分别截图粘贴至客户端桌面【Release\模块C提交结果.docx】中对应的任务序号下。

任务二:实时指标计算

编写Java工程代码,使用Flink消费Kafka中dwd层的Topic数据,表结构与离线数据表结构相同。

  1. 使用Flink消费kafka中的数据,统计商品的UV和PV,将结果写入HBase中的表ads:online_uv_pv中。使用Hive cli查询ads.pv_uv_result表,查询出10条数据,将结果截图粘贴至客户端桌面【Release\模块C提交结果.docx】中对应的任务序号下;

  1. 使用Flink消费kafka中的数据,统计商城每分钟的GMV,将结果存入redis中,key为store_gmv,使用redis cli以get key方式获取store_gmv值,将每次截图粘贴至客户端桌面【Release\模块C提交结果.docx】中对应的任务序号下(每分钟查询一次,至少查询3次)。

模块D:离线数据处理(20分)

环境说明:

服务端登录地址详见各模块服务端说明。

补充说明:各节点可通过Asbru工具或SSH客户端进行SSH访问;

主节点MySQL数据库用户名/密码:root/123456(已配置远程连接);

Hive的配置文件位于主节点/opt/module/hive-3.1.2/conf/

Spark任务在Yarn上用Client运行,方便观察日志;

ClickHouse的jdbc连接端口8123,用户名/密码:default/123456,命令行客户端(tcp)端口9001;

建议使用gson解析json数据。

任务一:离线数据清洗

编写Scala工程代码,将ods库中表table1、table2、table3、table4、table5、table6、table7、table8、table9、table10、table11抽取到Hive的dwd库中对应表中。表中有涉及到timestamp类型的,均要求按照yyyy-MM-dd HH:mm:ss,不记录毫秒数,若原数据中只有年月日,则在时分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-dd HH:mm:ss。

  1. 抽取ods库中表table1最新分区数据,并结合dim_table1最新分区现有的数据,根据id合并数据到dwd库中dim_table1的分区表,分区字段为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存当前操作时间,其余列存最新的值。使用hive cli查询modified_time为XXXX年XX月XX号当天的数据,并按照id进行升序排序,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table2最新分区数据,并结合dim_table2最新分区现有的数据,根据id合并数据到dwd库中dim_table2的分区表,分区字段为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存当前操作时间,其余列存最新的值。使用hive cli执行show partitions dwd.dim_table2命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table3最新分区的数据,并结合dim_table3最新分区现有的数据,根据id合并数据到dwd库中dim_table3的分区表,分区字段为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存当前操作时间,其余列存最新的值。使用hive cli执行show partitions dwd.dim_table3命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table4最新分区的数据,并结合HBase中table4_offline表中的数据合并抽取到dwd库中fact_table4的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),抽取HBase中的数据时,只抽取XXXX年XX月XX日的数据(以rowkey为准),并进行数据类型转换。使用hive cli查询modified_time为XXXX年XX月XX号当天的数据,并按照id进行升序排序,将结果截图复制粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table5表最新分区的数据,并结合HBase中table5_offline表中的数据合并抽取到dwd库中fact_table5的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),抽取HBase中的数据时,只抽取XXXX年XX月XX日的数据(以rowkey为准),并进行数据类型转换。使用hive cli查询modified_time为XXXX年XX月XX号当天的数据,并按照id进行升序排序,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table6最新分区的数据到dwd库中fact_table6的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转换。使用hive cli执行show partitions dwd.fact_table6命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table7最新分区的数据到dwd库中table7的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转换。使用hive cli执行show partitions dwd.table7命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table8最新分区的数据到dwd库中fact_table8的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转换。使用hive cli执行show partitions dwd.fact_table8命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table9最新分区的数据,并结合HBase中table9_offline表中的数据合并抽取到dwd库中table9的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),抽取HBase中的数据时,只抽取XXXX年XX月XX日的数据(以rowkey为准),并进行数据类型转换。使用hive cli查询modified_time为XXXX年XX月XX号当天的数据,并按照id进行升序排序,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table10最新分区的数据到dwd库中dim_table10的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转换。使用hive cli执行show partitions dwd.dim_table10命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 抽取ods库中表table11最新分区的数据到dwd库中dim_table11的分区表,分区字段为etl_date且值与ods库的相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、dwd_modify_time四列,其中dwd_insert_user、dwd_modify_user均填写“user1”,dwd_insert_time、dwd_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转换。使用hive cli执行show partitions dwd.dim_table11命令,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 将dwd库中表的数据关联到dws库中table12的分区表,分区字段为etl_date,类型为String,且值为当前比赛日的前一天日期(分区字段格式为yyyyMMdd),并添加dws_insert_user、dws_insert_time、dws_modify_user、dws_modify_time四列,其中dws_insert_user、dws_modify_user均填写“user1”,dws_insert_time、dws_modify_time均填写当前操作时间(年月日必须是今天,时分秒只需在比赛时间范围内即可),并进行数据类型转换。使用hive cli统计最新分区中得数据总量,将结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下。

任务二:离线指标计算

  1. 编写Scala工程代码,根据dwd的订单表,求各省份下单时间为XXXX年的支付转化率,并将计算结果写入clickhouse的ds_result库的表。在Linux的clickhouse命令行中根据ranking字段查询出转化率前三的省份,将SQL语句与执行结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 编写Scala工程代码,根据dwd的表,计算所有订单中各商品所有订单总销售金额排名,并将计算结果写入clickhouse的ds_result库的表。然后在Linux的clickhouse命令行中根据sales_rank升序查询前5行,将SQL语句与执行结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下;

  1. 编写Scala工程代码,根据dwd的登录日志表求最近连续三周登录的用户数,并将计算结果写入clickhouse的ds_result库的表。然后在Linux的clickhouse命令行中根据active_total降序查询,将SQL语句与执行结果截图粘贴至客户端桌面【Release\模块D提交结果.docx】中对应的任务序号下。

模块E:数据可视化(15分)

环境说明:

数据接口地址及接口描述详见各模块服务端说明。

任务一:用柱状图展示消费额最高的省份

编写Vue工程代码,根据接口,用柱状图展示XXXX年消费额最高的5个省份,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴至客户端桌面【Release\模块E提交结果.docx】中对应的任务序号下。

任务二:用饼状图展示各地区消费能力

编写Vue工程代码,根据接口,用饼状图展示XXXX年各地区的消费总额占比,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴至客户端桌面【Release\模块E提交结果.docx】中对应的任务序号下。

任务三:用折线图展示每年上架商品数量变化

编写Vue工程代码,根据接口,用折线图展示每年上架商品数量的变化情况,同时将用于图表展示的数据结构在浏览器的console中进行打印输出,将图表可视化结果和浏览器console打印结果分别截图并粘贴至客户端桌面【Release\模块E提交结果.docx】中对应的任务序号下。

模块F:综合分析(10分)

任务一:XXXXXXXXXXXXXXXXXX,原因是什么?

将内容编写至客户端桌面【Release\模块F提交结果.docx】中对应的任务序号下。

任务二:XXXXXXX有哪些XXXXXXXX?列举并简要描述。

将内容编写至客户端桌面【Release\模块F提交结果.docx】中对应的任务序号下。

任务三:简要描述竞赛过程中的问题并进行总结。

将内容编写至客户端桌面【Release\模块F提交结果.docx】中对应的任务序号下。

附录:补充说明

命令行截图样例(保证清晰)

表结构说明

MySQL数据库中已自带注释,自行连接使用工具查看。

若IDEA运行代码时候出现

scalac: No scala-library*.jar in Scala compiler classpath in Scala SDK Maven: org.scala-lang:scala-library:2.12.0

则需要在Flie->Project Structure->Project Settings->Libraries->添加scala的包(2.12大版本一致即可)。

  • 31
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
2022年全国职业院校技能大赛(高职)的"大数据技术与应用"PDF是指比赛相关的电子文档。大数据技术与应用是当前信息化时代的重要领域之一,掌握相关技能职业院校的学生来说具有重要意义。 这份PDF文档可能包括一些重要内容,如大数据的基本概念、原理和应用,常见的大数据技术工具和平台,以及大数据分析的方法和步骤等等。对于参选手来说,阅读和学习这份文档可以帮助他们更好地了解大数据技术的基础知识和应用场景,为比赛备战提供一定的指导和参考。 在2022年全国职业院校技能大赛中,"大数据技术与应用"这一项目旨在考察参选手在大数据领域的技能水平和实际操作能力。选手需要通过实际应用案例的分析和解决,展示自己对大数据技术的理解和运用能力。这份PDF文档可能包含的内容将为选手提供重要的学习材料,有助于他们更全面地了解大数据技术和应用的方方面面。 参选手应当认真研读这份PDF文档,并结合实际进行相关的实践操作和练习,以提高自己在大数据技术与应用领域的实际操作能力。同时,选手还应时刻关注大数据领域的最新发展和技术趋势,不断更新自己的知识储备,以应对未来职业发展的需求。 总之,"2022年全国职业院校技能大赛(高职)的"大数据技术与应用"PDF是一份重要的学习材料,对于参选手来说具有指导和参考的作用。选手们应当利用好这份文档,充分准备比赛,展示自己在大数据领域的技能和实践能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你可知这世上再难遇我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值