网站功能项目报价,网站可以嵌入WordPress,wordpress教程 页面,企业网站导航优化2022年全国职业院校技能大赛 高职组 “大数据技术与应用” 赛项赛卷#xff08;1卷#xff09;任务书 背景描述#xff1a;模块A#xff1a;大数据平台搭建#xff08;容器环境#xff09;#xff08;15分#xff09;任务一#xff1a;Hadoop 完全分布式安装配置任务二… 2022年全国职业院校技能大赛 高职组 “大数据技术与应用” 赛项赛卷1卷任务书 背景描述模块A大数据平台搭建容器环境15分任务一Hadoop 完全分布式安装配置任务二Spark on Yarn安装配置任务三Flink on Yarn安装配置 模块B离线数据处理25分任务一数据抽取任务二数据清洗任务三指标计算 模块C数据挖掘10分任务一特征工程任务二推荐系统任务一实时数据采集任务二使用Flink处理Kafka中的数据 模块E数据可视化15分任务一用柱状图展示消费额最高的国家任务二用饼状图展示各地区消费能力任务三用折线图展示总消费额变化任务四用条形图展示平均消费额最高的国家任务五用折柱混合图展示地区平均消费额和国家平均消费额 需要培训私信博主资源环境也可以包拿奖 背景描述
大数据时代背景下电商经营模式发生很大改变。在传统运营模式中缺乏数据积累人们在做出一些决策行为过程中更多是凭借个人经验和直觉发展路径比较自我封闭。而大数据时代为人们提供一种全新的思路通过大量的数据分析得出的结果将更加现实和准确。商家可以对客户的消费行为信息数据进行收集和整理比如消费者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周期、购买产品的目的、消费者家庭背景、工作和生活环境、个人消费观和价值观等。通过数据追踪知道顾客从哪儿来是看了某网站投放的广告还是通过朋友推荐链接是新访客还是老用户喜欢浏览什么产品购物车有无商品是否清空还有每一笔交易记录精准锁定一定年龄、收入、对产品有兴趣的顾客对顾客进行分组、标签化通过不同标签组合运用获得不同目标群体以此开展精准推送。 因数据驱动的零售新时代已经到来没有大数据我们无法为消费者提供这些体验为完成电商的大数据分析工作你所在的小组将应用大数据技术以Scala作为整个项目的基础开发语言基于大数据平台综合利用Hudi、Spark、Flink、Vue.js等技术对数据进行处理、分析及可视化呈现你们作为该小组的技术人员请按照下面任务完成本次工作。
模块A大数据平台搭建容器环境15分
环境说明 服务端登录地址详见各模块服务端说明。 补充说明宿主机可通过Asbru工具或SSH客户端进行SSH访问 相关软件安装包在宿主机的/opt目录下请选择对应的安装包进行安装用不到的可忽略 所有模块中应用命令必须采用绝对路径
从本地仓库中拉取镜像并启动3个容器进入Master节点的方式为 docker exec –it master /bin/bash
进入Slave1节点的方式为 docker exec –it slave1 /bin/bash
进入Slave2节点的方式为 docker exec –it slave2 /bin/bash
同时将/opt目录下的所有安装包移动到3个容器节点中。
任务一Hadoop 完全分布式安装配置
本环节需要使用root用户完成相关配置安装Hadoop需要配置前置环境。命令中要求使用绝对路径具体要求如下: 1、将Master节点JDK安装包解压并移动到/usr/java路径(若路径不存在则需新建)将命令复制并粘贴至对应报告中; 2、修改/root/profile文件设置JDK环境变量配置完毕后在Master节点分别执行“java”和“javac”命令将命令行执行结果分别截图并粘贴至对应报告中; 3、请完成host相关配置将三个节点分别命名为master、slave1、slave2并做免密登录使用绝对路径从Master节点复制JDK解压后的安装文件到Slave1、Slave2节点并配置相关环境变量将全部复制命令复制并粘贴至对应报告中; 4、在Master节点将Hadoop解压到/opt目录下并将解压包分发至Slave1、Slave2节点中,配置好相关环境初始化Hadoop环境namenode将初始化命令及初始化结果复制粘贴至对应报告中 5、启动Hadoop集群查看Master节点jps进程将查看结果复制粘贴至对应报告中。
任务二Spark on Yarn安装配置
本环节需要使用root用户完成相关配置已安装Hadoop及需要配置前置环境具体要求如下 1、将scala包解压到/usr/路径配置环境变量使其生效将完整命令复制粘贴至对应报告中若已安装则可跳过 2、配置/root/profile文件设置Spark环境变量并使环境变量生效将环境变量配置内容复制粘贴至对应报告中; 3、完成on yarn相关配置使用spark on yarn 的模式提交$SPARK_HOME/examples/jars/spark-examples_2.11-2.1.1.jar 运行的主类为org.apache.spark.examples.SparkPi将运行结果粘贴至对应报告中。
任务三Flink on Yarn安装配置
本环节需要使用root用户完成相关配置已安装Hadoop及需要配置前置环境具体要求如下 1、将Flink包解压到路径/opt目录下将完整命令复制粘贴至对应报告中; 2、修改/root/profile文件设置Flink环境变量并使环境变量生效将环境变量配置内容复制粘贴至对应报告中; 3、开启Hadoop集群在yarn上以per job模式即Job分离模式不采用Session模式运行 $FLINK_HOME/examples/batch/WordCount.jar将运行结果最后10行复制粘贴至对应报告中。 示例 flink run -m yarn-cluster -p 2 -yjm 2G -ytm 2G $FLINK_HOME/examples/batch/WordCount.jar
模块B离线数据处理25分
环境说明 服务端登录地址详见各模块服务端说明。 补充说明各主机可通过Asbru工具或SSH客户端进行SSH访问 Master节点MySQL数据库用户名/密码root/123456已配置远程连接 Hive的元数据启动命令为: nohup hive --service metastore Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/ Spark任务在Yarn上用Client运行方便观察日志。
任务一数据抽取
编写Scala工程代码将MySQL的shtd_store库中表CUSTOMER、NATION、PART、PARTSUPP、REGION、SUPPLIER的数据全量抽取到Hive的ods库中对应表customernationpartpartsuppregionsupplier中将表ORDERS、LINEITEM的数据增量抽取到Hive的ods库中对应表ORDERSLINEITEM中。 1、抽取shtd_store库中CUSTOMER的全量数据进入Hive的ods库中表customer。字段排序、类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.customer命令将结果截图复制粘贴至对应报告中 2、抽取shtd_store库中NATION的全量数据进入Hive的ods库中表nation。字段排序、类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.nation命令将结果截图复制粘贴至对应报告中 3、抽取shtd_store库中PART的全量数据进入Hive的ods库中表part。字段排序、类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.part命令将结果截图复制粘贴至对应报告中 4、抽取shtd_store库中PARTSUPP的全量数据进入Hive的ods库中表partsupp。字段排序、类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.partsupp命令将结果截图复制粘贴至对应报告中 5、抽取shtd_store库中REGION的全量数据进入Hive的ods库中表region字段排序、类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.region命令将结果截图复制粘贴至对应报告中 6、抽取shtd_store库中SUPPLIER的全量数据进入Hive的ods库中表supplier字段排序、类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.supplier命令将结果截图复制粘贴至对应报告中 7、抽取shtd_store库中ORDERS的增量数据进入Hive的ods库中表orders要求只取某年某月某日及之后的数据包括某年某月某日根据ORDERS表中ORDERKEY作为增量字段提示对比MySQL和Hive中的表的ORDERKEY大小只将新增的数据抽入字段类型不变同时添加动态分区分区字段类型为String且值为ORDERDATE字段的内容ORDERDATE的格式为yyyy-MM-dd分区字段格式为yyyyMMdd。并在hive cli执行select count(distinct(dealdate)) from ods.orders命令将结果截图复制粘贴至对应报告中 8、抽取shtd_store库中LINEITEM的增量数据进入Hive的ods库中表lineitem根据LINEITEM表中orderkey作为增量字段只将新增的数据抽入字段类型不变同时添加静态分区分区字段类型为String且值为当前比赛日的前一天日期分区字段格式为yyyyMMdd。并在hive cli执行show partitions ods.lineitem命令将结果截图复制粘贴至对应报告中。
任务二数据清洗
编写Scala工程代码将ods库中相应表数据全量抽取到Hive的dwd库中对应表中。表中有涉及到timestamp类型的均要求按照yyyy-MM-dd HH:mm:ss不记录毫秒数若原数据中只有年月日则在时分秒的位置添加00:00:00添加之后使其符合yyyy-MM-dd HH:mm:ss。 1、将ods库中customer表数据抽取到dwd库中dim_customer的分区表分区字段为etldate且值与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中按照cust_key顺序排序查询dim_customer前1条数据将结果内容复制粘贴至对应报告中 2、将ods库中part表数据抽取到dwd库中dim_part的分区表分区字段为etldate且值与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中按照part_key顺序排序查询dim_part前1条数据将结果内容复制粘贴至对应报告中 3、将ods库中nation表数据抽取到dwd库中dim_nation的分区表分区字段为etldate且值与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中按照nation_key顺序排序查询dim_nation前1条数据将结果内容复制粘贴至对应报告中 4、将ods库中region表数据抽取到dwd库中dim_region的分区表分区字段为etldate且值与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中按照region_key顺序排序查询dim_region表前1条数据将结果内容复制粘贴至对应报告中 5、将ods库中orders表数据抽取到dwd库中fact_orders的分区表分区字段为etldate且值与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执行select count(distinct(dealdate)) from dwd.fact_orders命令将结果内容复制粘贴至对应报告中 6、待任务5完成以后需删除ods.orders中的分区仅保留最近的三个分区。并在hive cli执行show partitions ods.orders命令将结果截图粘贴至对应报告中 7、将ods库中lineitem表数据抽取到dwd库中fact_lineitem的分区表分区字段为etldate且值与ods库的相对应表该值相等抽取的条件为根据orderkey和partkey进行去重并添加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_lineitem命令将结果截图粘贴至对应报告中。
任务三指标计算
1、编写Scala工程代码根据dwd层表统计每个地区、每个国家、每个月下单的数量和下单的总金额存入MySQL数据库shtd_store的nationeverymonth表表结构如下中然后在Linux的MySQL命令行中根据订单总数、消费总额、国家表主键三列均逆序排序的方式查询出前5条将SQL语句与执行结果截图粘贴至对应报告中; 2、请根据dwd层表计算出某年每个国家的平均消费额和所有国家平均消费额相比较结果“高/低/相同”,存入MySQL数据库shtd_store的nationavgcmp表表结构如下中然后在Linux的MySQL命令行中根据订单总数、消费总额、国家表主键三列均逆序排序的方式查询出前5条将SQL语句与执行结果截图粘贴至对应报告中; 3、编写Scala工程代码根据dwd层表统计连续两个月下单并且下单金额保持增长的用户订单发生时间限制为大于等于某年存入MySQL数据库shtd_store的usercontinueorder表(表结构如下)中。然后在Linux的MySQL命令行中根据订单总数、消费总额、客户主键三列均逆序排序的方式查询出前5条将SQL语句与执行结果截图粘贴至对应报告中。 模块C数据挖掘10分
环境说明 服务端登录地址详见各模块服务端说明。 补充说明各主机可通过Asbru工具或SSH客户端进行SSH访问 Master节点MySQL数据库用户名/密码root/123456已配置远程连接 Hive的元数据启动命令为: nohup hive --service metastore Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/ Spark任务在Yarn上用Client运行方便观察日志。 该模块均使用Scala编写利用Spark相关库完成。
任务一特征工程
1、根据dwd库中fact_orders表将其转换为以下类型矩阵其中A表示用户AB表示用户B矩阵中的【0,1】值为1表示A用户与B用户之间购买了1个相同的零件0表示A用户与B用户之间没有购买过相同的零件。将矩阵保存为txt文件格式并存储在HDFS上使用命令查看文件前2行将执行结果截图粘贴至对应报告中 2、对dwd库中dim_part获取partkey 、mfgr、brand、size、retailprice五个字段并进行数据预处理再进行归一化并保存至dwd.fact_part_machine_data中对制造商与品牌字段进行one-hot编码处理将制造商与品牌的值转换成列名添加至表尾部若该零部件属于该品牌则置为1否则置为0,并按照partkeysize进行顺序排序然后在Hive cli中执行命令desc dwd.fact_part_machine_data 中查询出结果将SQL语句与执行结果截图粘贴至对应报告中。
任务二推荐系统
1、根据任务一的结果获取与该用户相似度矩阵内的值最高最高的前10个用户并结合hive中dwd层的fact_orders表、fact_lineitem表、fact_part_machine_data表获取到这10位用户已购买过的零部件并剔除该用户已购买的零部件并通过计算用户已购买产品与该数据集中余弦相似度累加输出前5零部件key作为推荐使用。将输出结果保存至MySQL的part_machine表中。然后在Linux的MySQL命令行中查询出前5条数据将SQL语句与执行结果截图粘贴至对应报告中。
模块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.propertiesFlink 任务在Yarn上用per job模式即Job分离模式不采用Session模式方便Yarn回收资源。
任务一实时数据采集
1、在Master节点使用Flume采集实时数据生成器26001端口的socket数据将数据存入到Kafka的Topic中topic名称为order分区数为4将Flume的配置截图粘贴至对应报告中 2、Flume接收数据注入kafka 的同时将数据备份到HDFS目录/user/test/flumebackup下将备份结果截图粘贴至对应报告中。
任务二使用Flink处理Kafka中的数据
编写Scala工程代码使用Flink消费Kafka中Topic为order的数据并进行相应的数据统计计算。 1、使用Flink消费Kafka中的数据统计个人实时订单总额将key设置成totalprice存入Redis中再使用hash数据格式key存放为用户idvalue存放为该用户消费总额使用redis cli以get key方式获取totalprice值将结果截图粘贴至对应报告中需两次截图第一次截图和第二次截图间隔一分钟以上第一次截图放前面第二次放后面。 2、在任务1进行的同时需监控若发现ORDERSTATUS字段为F,将数据存入MySQL表alarmdata中可考虑侧边流的实现然后在Linux的MySQL命令行中根据ORDERKEY逆序排序查询出前5条将SQL语句与执行结果截图粘贴至对应报告中; 3、使用Flink消费kafka中的数据统计每分钟下单的数量将key设置成totalorder存入redis中。使用redis cli以get key方式获取totalorder值将结果粘贴至对应报告中需两次截图第一次截图应该在job启动2分钟数据稳定后再截图和第二次截图时间间隔应达一分钟以上第一次截图放前面第二次放后面。注流数据中时间未精确到时分秒建议StreamTimeCharacteristic设置成ProcessingTime默认或IngestionTime。
模块E数据可视化15分
环境说明 数据接口地址及接口描述详见各模块服务端说明。
任务一用柱状图展示消费额最高的国家
编写Vue工程代码根据接口用柱状图展示某年某月消费额最高的5个国家同时将用于图表展示的数据结构在浏览器的console中进行打印输出将图表可视化结果和浏览器console打印结果分别截图并粘贴至对应报告中。
任务二用饼状图展示各地区消费能力
编写Vue工程代码根据接口用饼状图展示某年第一季度各地区的消费总额占比同时将用于图表展示的数据结构在浏览器的console中进行打印输出将图表可视化结果和浏览器console打印结果分别截图并粘贴至对应报告中。
任务三用折线图展示总消费额变化
编写Vue工程代码根据接口用折线图展示某年上半年商城总消费额的变化情况同时将用于图表展示的数据结构在浏览器的console中进行打印输出将图表可视化结果和浏览器console打印结果分别截图并粘贴至对应报告中。
任务四用条形图展示平均消费额最高的国家
编写Vue工程代码根据接口用条形图展示某年平均消费额最高的5个国家同时将用于图表展示的数据结构在浏览器的console中进行打印输出将图表可视化结果和浏览器console打印结果分别截图并粘贴至对应报告中。
任务五用折柱混合图展示地区平均消费额和国家平均消费额
编写Vue工程代码根据接口用折柱混合图展示某年地区平均消费额和国家平均消费额的对比情况柱状图展示平均消费额最高的5个国家折线图展示每个国家所在的地区的平均消费额变化同时将用于图表展示的数据结构在浏览器的console中进行打印输出将图表可视化结果和浏览器console打印结果分别截图并粘贴至对应报告中。
需要培训私信博主资源环境也可以包拿奖