2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“大数据应用开发赛项规程(师生同赛)”赛项规程_第1页
2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“大数据应用开发赛项规程(师生同赛)”赛项规程_第2页
2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“大数据应用开发赛项规程(师生同赛)”赛项规程_第3页
2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“大数据应用开发赛项规程(师生同赛)”赛项规程_第4页
2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“大数据应用开发赛项规程(师生同赛)”赛项规程_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、赛项信息

☑每年赛隔年赛(单数年/双数年)

□中等职业教育☑高等职业教育

□学生赛(□个人/□团体)□教师赛(试点)☑师生同赛(试点)

核心课程

专业大类专业类专业名称

(对应每个专业,明确涉及的专业核心课程)

数据采集技术

数据预处理技术

510205大数据大数据分析技术应用

技术数据可视化技术与应用

数据挖掘应用

大数据平台部署与运维

数据库技术及应用

前端设计与开发

510201计算机

信息采集技术

51电子与5102计算机应用技术

数据分析方法

信息大类类

系统部署与运维

Linux操作系统管理

510202计算机

程序设计基础

网络技术

数据库应用技术

程序设计基础

510203软件技数据库技术

术面向对象程序设计

数据结构

510206云计算Linux操作系统

2

技术应用程序设计基础

数据库技术

Web应用开发

程序设计基础

510209人工智Linux操作系统

能技术应用数据库技术

人工智能数据服务

程序设计基础

数据库应用基础

510211工业互

工业互联网数据采集技术

联网技术

工业互联网数据分析技术

数据采集与处理

核心能力

产业行业岗位(群)

(对应每个岗位(群),明确核心能力要求)

大数据平台搭建部署与基本使用,以及大数据集

大数据实施与运维群运维

大数据平台管理、大数据技术服务

分析用户业务需求,制订大数据项目解决方案

数据分析处理开发数据采集、抽取、清洗、转换与加载等数据

战略性新预处理模型

基于行业应用与典型工作场景,解决业务需求

兴产业-新

安装部署与使用数据分析工具,运用大数据分析

一代信息

平台完成大数据分析任务

技术

大数据分析与可视化数据可视化设计,开发应用程序进行数据可视化

展示,撰写数据可视化结果分析报告

基于行业应用与典型工作场景,解决业务需求

程序设计数据库应用、前端开发等程序设计能力

数据采集与分析数据采集、使用工具进行数据分析

信息系统运行维护信息系统部署与运维

3

二、竞赛目标

“十四五”时期,大数据产业对经济社会高质量发展的赋能作用

更加突显,大数据已成为催生新业态、激发新模式、促进新发展的技

术引擎。习近平总书记指出“大数据是信息化发展的新阶段”,“加

快数字化发展,建设数字中国”成为《中华人民共和国国民经济和社

会发展第十四个五年规划和2035年远景目标纲要》的重要篇章。

本赛项旨在落实国家“建设数字中国”战略,协同推动大数据相

关产业的创新与发展,大力推进大数据技术及相关专业的技术技能型

人才培养,全面提升相关专业毕业生的综合能力,展现选手团队合作、

工匠精神等职业素养,赋能经济社会高质量发展。竞赛内容结合当前

大数据相关产业中的新技术、新要求如数据湖、OLAP数据库应用等,

全面检验参赛选手的工程实践能力和创新能力,推进教学过程与生产

过程对接、课程内容与职业标准对接、专业设置与产业需求对接,促

进职普融通、产教融合、科教融汇,引领专业建设和教学改革。竞赛

内容围绕大数据相关产业岗位的实际技能要求进行设计,通过竞赛搭

建校企合作的平台,强化竞赛成果转化,促进相关教材、资源、师资、

认证、实习就业等方面的全方位建设,满足产教协同育人目标,为国

家战略规划提供大数据领域高素质技能型人才。

三、竞赛内容

本赛项涉及的典型工作任务包括大数据平台搭建(容器环境)、

离线数据处理、数据挖掘、数据采集与实时计算、数据可视化、综合

分析、职业素养,引入行业内较为前沿的数据湖架构作为创新、创意

的范围与方向,考查的技术技能如下:

(一)大数据平台搭建(容器环境):Docker容器基础操作、H

adoop完全分布式安装配置、HadoopHA安装配置、SparkonYarn

4

安装配置、FlinkonYarn安装配置、Hive安装配置、Flume安装配

置、ZooKeeper安装配置、Kafka安装配置、HBase分布式安装配置、

ClickHouse单节点安装配置、Hudi安装配置。

(二)离线数据处理:Scala应用开发、Pom文件配置、Maven

本地仓库配置使用、基于Spark的数据清洗处理方法、基于Hive的

数据清洗处理方法、基于Hudi的数据清洗处理方法、数据仓库基本

架构及概念、数据湖基本架构及概念、MySQL基本操作、ClickHouse

基本操作、Azkaban基本操作、DolphinScheduler基本操作。

(三)数据挖掘:特征工程应用、SparkML机器学习库应用开

发、推荐算法的召回和排序、回归模型、聚类模型、决策树模型、随

机森林模型应用。

(四)数据采集与实时计算:Scala应用开发、Pom文件配置、M

aven本地仓库配置使用、基于Flume及Kafka的数据采集方法、基

于Flink的实时数据处理方法、HBase基本操作、Redis基本操作、M

ySQL基本操作。

(五)数据可视化:Vue.js框架应用开发、ECharts组件应用开

发,会使用ECharts绘制柱状图、折线图、折柱混合图、玫瑰图、气

泡图、饼状图、条形图、雷达图、散点图等图表。

(六)综合分析:依据整体项目过程,在综合理解业务的基础上,

根据题目要求进行综合分析。

(七)职业素养:团队分工明确合理、操作规范、文明竞赛。

1、竞赛内容结构、成绩比例如下:

5

表3-1竞赛内容结构和成绩比例

大数据平台搭建选手在容器环境下对大数据平台及相关组件

115%

(容器环境)的安装、配置、可用性验证等内容。

选手对Hadoop平台、Spark平台、Hive数据

仓库、Hudi数据湖、任务调度工具等的综合

2离线数据处理25%应用能力,使用Scala开发语言,完成离线

数据抽取、数据清洗、数据指标统计等操作,

并存入MySQL、ClickHouse中。

选手运用常用的机器学习方法对数据进行数

3数据挖掘10%

据挖掘分析。

选手对Flink平台、Flume组件、Kafka组件

等的综合应用能力,基于Flume和Kafka进

数据采集与实时

420%行实时数据采集,使用Scala开发语言,完

计算

成实时数据流相关数据指标的分析、计算等

操作,并存入HBase、Redis、MySQL中。

选手基于前端框架Vue.js和后端REST风格

5数据可视化15%的数据接口,使用JavaScript语言将数据分

析结果以图表的形式进行呈现、统计

选手对大数据技术的业务分析、技术分析及

6综合分析10%

报告撰写能力。

7职业素养5%团队分工明确合理、操作规范、文明竞赛。

6

2、赛项模块、比赛时长及分值配比如下:

表3-2赛项模块比赛时长及分值配比

竞赛以电商大数据及工业大数据为

业务背景,主要设置以下竞赛任务:

在容器环境下对大数据平台及相关

组件的安装、配置、可用性验证等

内容。

对Hadoop平台、Spark平台、Hive

数据仓库、Hudi数据湖、任务调度

工具等的综合应用能力,使用Scal

a开发语言,完成离线数据抽取、数

大数据应据清洗、数据指标统计等操作,并

6小时100分

用开发存入MySQL、ClickHouse中。

运用常用的机器学习方法对数据进

行数据挖掘分析。

对Flink平台、Flume组件、Kafka

组件等的综合应用能力,基于Flum

e和Kafka进行实时数据采集,使用

Scala开发语言,完成实时数据流相

关数据指标的分析、计算等操作,

并存入HBase、Redis、MySQL中。

基于前端框架Vue.js和后端REST

7

风格的数据接口,使用JavaScript

语言将数据分析结果以图表的形式

进行呈现、统计。

对大数据技术的业务分析、技术分

析及报告撰写能力。

综合职业素养,包括团队分工明确

合理、操作规范、文明竞赛等内容。

四、竞赛方式

本竞赛为线下比赛,组队方式为师生同赛,具体要求如下:

(一)参赛学生须为高等职业学校专科、高等职业学校本科全日

制在籍学生,五年制高职四、五年级学生也可报名参赛;参赛教师须

为校内专任教师,并提供近半年的社保或纳税证明。凡在往届全国职

业院校技能大赛中获一等奖的选手,不能再参加同一项目同一组别的

比赛。

(二)每支参赛队由4名选手组成,其中1名教师,3名学生。

本赛项为师生同赛不设指导教师,报名获得确认后不得随意更换。

(三)本赛项为单一场次,所有参赛队在现场根据给定的任务说

明,在6小时内相互配合,采用小组合作的形式完成任务,最后以

提交的结果文档作为最终评分依据。

五、竞赛流程

8

表5-1竞赛时间

15:30之前各参赛队报到

15:30—16:00赛前领队会

竞赛前一日16:00—16:30参赛队熟悉比赛场地

16:30—17:00赛前检查,封闭赛场

07:30—08:20参赛队集合前往比赛现场

08:20—08:30赛场检录

08:30—08:40一次加密:参赛队抽取参赛编号

08:40—08:50二次加密:参赛队抽取赛位号

08:50—09:00参赛队进入比赛赛位,进行赛前软、硬件检查、

题目发放

竞赛当日09:00—15:00竞赛进行

15:00—15:20收取各参赛队赛题及比赛结果文档

15:00—17:00申诉受理

15:20—16:00三次加密:竞赛结果等文件加密

16:00—18:00成绩评定与复核

18:00—19:00加密信息解密

19:00—20:00成绩汇总及报送

9

图5-1竞赛流程

10

六、竞赛规则

(一)选手报名:参赛学生须为高等职业学校专科、高等职业学

校本科全日制在籍学生,五年制高职四、五年级学生也可报名参赛。

参赛教师须为校内专任教师,并提供近半年的社保或纳税证明。凡在

往届全国职业院校技能大赛中获一等奖的选手,不能再参加同一项目

同一组别的比赛。

(二)熟悉场地:竞赛前1日安排各参赛队领队、参赛选手熟悉

赛场。

(三)入场规则:参赛选手按规定时间到达指定地点,必须携带

参赛证件,进行检录、一次加密、二次加密等流程,最终确定工位,

选手迟到10分钟取消比赛资格。严禁参赛选手、赛项裁判、工作人

员私自携带通讯、摄录设备进入比赛场地。参赛选手所需的硬件、软

件和辅助工具统一提供,参赛队不得使用自带的任何有存储功能的设

备,如手机、U盘、移动硬盘等。参赛队在赛前领取比赛任务并进入

比赛工位,比赛正式开始后方可进行相关操作。

(四)赛场规则:在比赛过程中,参赛选手如有疑问,应举手示

意,现场裁判应按要求及时予以答疑。如遇设备或软件等故障,参赛

选手应举手示意,现场裁判、技术人员等应及时予以解决。确因计算

机软件或硬件故障,致使操作无法继续,经裁判长确认,予以启用备

用设备。参赛选手不得因各种原因提前结束比赛。如确因不可抗因素

需要离开赛场的,须向现场裁判员举手示意,经裁判员许可并完成记

录后,方可离开。凡在竞赛期间内提前离开的选手,不得返回赛场。

(五)离场规则:比赛时间结束,选手应全体起立,结束操作。

参赛选手要确认已成功提交竞赛要求的文档,裁判员与参赛选手一起

签字确认,经工作人员查收清点所有文档后方可离开赛场,离开赛场

11

时不得带走任何资料。

(六)成绩评定:比赛结束,对各参赛选手提交的竞赛结果进行

第三次加密后,裁判方可入场进行成绩评判。最终竞赛成绩经复核无

误,由裁判长、监督仲裁长签字确认后,以纸质形式汇总上报。

(七)其它未尽事宜,将在赛前向各领队做详细说明。

七、技术规范

本赛项引用的国际、国家、行业技术、职业资格标准与规范如下:

表7-1基础标准

GB/T11457-2006信息技术软件工程术语

GB8566-88计算机软件开发规范

GB/T12991.1-2008信息技术数据库语言SQL第1部分:框架

GB/Z21025-2007XML使用指南

GB/T28821-2012关系数据管理系统技术要求

LD/T81.1-2006职业技能实训和鉴定设备通用技术规范

表7-2大数据技术相关标准

GB/T35295-2017信息技术大数据术语

GB/T37721-2019信息技术大数据分析系统功能要求

GB/T37722-2019信息技术大数据存储与处理系统功能要求

GB/T38672-2020信息技术大数据接口基本要求

GB/T38673-2020信息技术大数据大数据系统基本要求

GB/T38675-2020信息技术大数据计算系统通用要求

GB/T38633-2020信息技术大数据系统运维和管理功能要求

GB/T41778-2022信息技术工业大数据术语

GB/T41818-2022信息技术大数据面向分析的数据存储与检索技术要求

表7-3软件开发与软件工程相关标准

12

GB/T14079-1993软件维护指南

GB/T15853-1995软件支持环境

GB/T17544-1998信息技术软件包质量要求和测试

GB/T8566-2007信息技术软件生存周期过程

GB/T22032-2021系统与软件工程系统生存周期过程

八、技术环境

竞赛现场设置竞赛区、裁判区、技术支持区、服务区等。

1.竞赛区域:每个竞赛工位设工位编号,工位之间由隔板隔

开,确保互不干扰。

2.裁判区:供裁判工作及休息,配备满足需要的办公设备。

3.技术支持区:供技术支持人员工作及休息,为竞赛提供技

术支持。

4.服务区:提供医疗等服务保障。

表8-1竞赛设备

CPU:Intel性能相当于i5处理器

内存:不少于64GB

1服务器每组1台

硬盘:不少于1TB

网卡:千兆

该系统基于主流云原生技术、大数据技术构建,旨在为

大数据赛训

2每组1套学生提供快捷、便利的大数据集群操作环境,帮助他们

管理系统

更好地掌握大数据相关技术和应用。该系统应基于微服

(四合天

务构建,以经典的微服务分层方式划分不同的服务层级,

地大数据

13

实训管理利用图形化的工作负载编辑模式快速进行系统的部署和

系统V2.0服务管理,有效展示各服务的容器信息,方便实时进行

系统运维。系统能够构建大数据平台搭建、数据处理、

数据分析、数据可视化等教学实训模块,快速开展教学、

实训及竞赛活动,系统应能够生成命令行、桌面级容器

环境,可通过不同模式进行访问,方便学生进行集群调

试和代码开发。通过使用该系统,学生可以深入了解大

数据技术的核心思想和应用场景,增强自己的数据分析

和处理能力,提高对数据的认识和运用水平。系统应支

持模拟竞赛全业务流程,提供大数据竞赛操作环境。

CPU:i5及以上

内存:不少于16GB

3PC机每组4台

硬盘:不少于250GB

显示器:1920*1080及以上

14

表8-2软件环境

大数据集群操作系统CentOS7

容器环境Docker-CE20.10

Hadoop3.1.3

Yarn3.1.3

ZooKeeper3.5.7

服务器Hive3.1.2

大数据平台组件

Hudi0.12.0

ClickHouse21.9.4

JDK1.8

Flume1.9.0

15

Kafka2.4.1

Spark3.1.1

Flink1.14.0

Redis6.2.6

HBase2.2.3

Azkaban3.84.4

DolphinScheduler3.1.4

关系型数据库MySQL5.7

PC操作系统Ubuntu18.0464位

浏览器Chrome

Scala2.12

开发语言

JavaScript

IDEA2022

开发工具(CommunityEdition)

VisualStudioCode1.69

SSH工具Asbru-cm或UbuntuSSH客户端

PC机

数据库工具MySQLWorkbench

接口测试工具Postman

Vue.js3.2

数据可视化框架及组件

ECharts5.1

截图工具Ubuntu系统自带

文档编辑器WPSLinux版

输入法搜狗拼音输入法Linux版

16

九、竞赛样题

大数据时代背景下,电商经营模式发生很大改变。在传统运营模

式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借

个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提

供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准

确。商家可以对客户的消费行为信息数据进行收集和整理,比如消费

者购买产品的花费、选择产品的渠道、偏好产品的类型、产品回购周

期、购买产品的目的、消费者家庭背景、工作和生活环境、个人消费

观和价值观等。通过数据追踪,知道顾客从哪儿来,是看了某网站投

放的广告还是通过朋友推荐链接,是新访客还是老用户,喜欢浏览什

么产品,购物车有无商品,是否清空,还有每一笔交易记录,精准锁

定一定年龄、收入、对产品有兴趣的顾客,对顾客进行分组、标签化,

通过不同标签组合运用,获得不同目标群体,以此开展精准推送。

因数据驱动的零售新时代已经到来,没有大数据,我们无法为消

费者提供这些体验,为完成电商的大数据分析工作,你所在的小组将

应用大数据技术,以Scala作为整个项目的基础开发语言,基于大数

据平台综合利用Hive、Spark、Flink、Vue.js等技术,对数据进行

处理、分析及可视化呈现,你们作为该小组的技术人员,请按照下面

任务完成本次工作。

宿主机及各容器节点可通过Asbru工具或SSH客户端进

17

行SSH访问。

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

本任务需要使用root用户完成相关配置,安装Hadoop需要配置

前置环境。命令中要求使用绝对路径,具体要求如下:

1、从宿主机/opt目录下将文件hadoop-3.1.3.tar.gz、jdk-8u212-

linux-x64.tar.gz复制到容器Master中的/opt/software路径中

(若路径不存在,则需新建),将Master节点JDK安装包解压到

/opt/module路径中(若路径不存在,则需新建),将JDK解压命

令复制并粘贴至客户端桌面【Release\任务A提交结果.docx】中

对应的任务序号下;

2、修改容器中/etc/profile文件,设置JDK环境变量并使其生效,

配置完毕后在Master节点分别执行“java-version”和“java

c”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Rel

ease\任务A提交结果.docx】中对应的任务序号下;

3、请完成host相关配置,将三个节点分别命名为master、slave1、

slave2,并做免密登录,用scp命令并使用绝对路径从Master复

制JDK解压后的安装文件到slave1、slave2节点(若路径不存在,

则需新建),并配置slave1、slave2相关环境变量,将全部scp

复制JDK的命令复制并粘贴至客户端桌面【Release\任务A提交

结果.docx】中对应的任务序号下;

4、在容器Master将Hadoop解压到/opt/module(若路径不存在,则

需新建)目录下,并将解压包分发至slave1、slave2中,其中ma

18

ster、slave1、slave2节点均作为datanode,配置好相关环境,

初始化Hadoop环境namenode,将初始化命令及初始化结果截图

(截取初始化结果日志最后20行即可)粘贴至客户端桌面【Rel

ease\任务A提交结果.docx】中对应的任务序号下;

5、启动Hadoop集群(包括hdfs和yarn),使用jps命令查看Mas

ter节点与slave1节点的Java进程,将jps命令与结果截图粘

贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务

序号下。

子任务二:SparkonYarn安装配置

本任务需要使用root用户完成相关配置,已安装Hadoop及需要

配置前置环境,具体要求如下:

1、从宿主机/opt目录下将文件spark-3.1.1-bin-hadoop3.2.tgz复

制到容器Master中的/opt/software(若路径不存在,则需新建)

中,将Spark包解压到/opt/module路径中(若路径不存在,则需

新建),将完整解压命令复制粘贴至客户端桌面【Release\任务A

提交结果.docx】中对应的任务序号下;

2、修改容器中/etc/profile文件,设置Spark环境变量并使环境变

量生效,在/opt目录下运行命令spark-submit--version,将命

令与结果截图粘贴至客户端桌面【Release\任务A提交结果.doc

x】中对应的任务序号下;

3、完成onyarn相关配置,使用sparkonyarn的模式提交$SPARK

19

_HOME/examples/jars/spark-examples_2.12-3.1.1.jar运行的

主类为org.apache.spark.examples.SparkPi,将运行结果截图

粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任

务序号下(截取Pi结果的前后各5行)。

(运行命令为:spark-submit--masteryarn--classorg.ap

ache.spark.examples.SparkPi$SPARK_HOME/examples/jars/spar

k-examples_2.12-3.1.1.jar)

子任务三:HBase分布式安装配置

本任务需要使用root用户完成相关配置,安装HBase需要配置H

adoop和ZooKeeper等前置环境。命令中要求使用绝对路径,具体要

求如下:

1、从宿主机/opt目录下将文件apache-zookeeper-3.5.7-bin.tar.

gz、hbase-2.2.3-bin.tar.gz复制到容器Master中的/opt/soft

ware路径中(若路径不存在,则需新建),将zookeeper、hbas

e安装包解压到/opt/module目录下,将HBase的解压命令复制并

粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任

务序号下;

2、完成ZooKeeper相关部署,用scp命令并使用绝对路径从容器ma

ster复制HBase解压后的包分发至slave1、slave2中,并修改

相关配置,配置好环境变量,在容器Master节点中运行命令hba

seversion,将全部复制命令复制并将hbaseversion命令的结

20

果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对

应的任务序号下;

3、启动HBase后在三个节点分别使用jps命令查看,并将结果分别

截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应

的任务序号下;正常启动后在hbaseshell中查看命名空间,将

查看命名空间的结果截图粘贴至客户端桌面【Release\任务A提

交结果.docx】中对应的任务序号下。

各节点可通过Asbru工具或SSH客户端进行SSH访问;

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

Hive的配置文件位于/opt/apache-hive-2.3.4-bin/conf/

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

子任务一:数据抽取

编写Scala代码,使用Spark将MySQL的shtd_store库中表us

er_info、sku_info、base_province、base_region、order_info、o

rder_detail的数据增量抽取到Hive的ods库中对应表user_info、

sku_info、base_province、base_region、order_info、order_det

ail中。

21

1、抽取shtd_store库中user_info的增量数据进入Hive的ods库

中表user_info。根据ods.user_info表中operate_time或cre

ate_time作为增量字段(即MySQL中每条数据取这两个时间中较

大的那个时间作为增量字段去和ods里的这两个字段中较大的时

间进行比较),只将新增的数据抽入,字段名称、类型不变,同时

添加静态分区,分区字段为etl_date,类型为String,且值为当

前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用hiv

ecli执行showpartitionsods.user_info命令,将结果截图

粘贴至客户端桌面【Release\任务B提交结果.docx】中对应的任

务序号下;

2、抽取shtd_store库中sku_info的增量数据进入Hive的ods库中

表sku_info。根据ods.sku_info表中create_time作为增量字

段,只将新增的数据抽入,字段名称、类型不变,同时添加静态分

区,分区字段为etl_date,类型为String,且值为当前比赛日的

前一天日期(分区字段格式为yyyyMMdd)。使用hivecli执行

showpartitionsods.sku_info命令,将结果截图粘贴至客户端

桌面【Release\任务B提交结果.docx】中对应的任务序号下;

3、抽取shtd_store库中base_province的增量数据进入Hive的od

s库中表base_province。根据ods.base_province表中id作为

增量字段,只将新增的数据抽入,字段名称、类型不变并添加字段

create_time取当前时间,同时添加静态分区,分区字段为et

l_date,类型为String,且值为当前比赛日的前一天日期(分区

22

字段格式为yyyyMMdd)。使用hivecli执行showpartitions

ods.base_province命令,将结果截图粘贴至客户端桌面【Relea

se\任务B提交结果.docx】中对应的任务序号下;

4、抽取shtd_store库中base_region的增量数据进入Hive的ods

库中表base_region。根据ods.base_region表中id作为增量字

段,只将新增的数据抽入,字段名称、类型不变并添加字段crea

te_time取当前时间,同时添加静态分区,分区字段为etl_date,

类型为String,且值为当前比赛日的前一天日期(分区字段格式

为yyyyMMdd)。使用hivecli执行showpartitionsods.base

_region命令,将结果截图粘贴至客户端桌面【Release\任务B

提交结果.docx】中对应的任务序号下;

5、抽取shtd_store库中order_info的增量数据进入Hive的ods库

中表order_info,根据ods.order_info表中operate_time或c

reate_time作为增量字段(即MySQL中每条数据取这两个时间中

较大的那个时间作为增量字段去和ods里的这两个字段中较大的

时间进行比较),只将新增的数据抽入,字段名称、类型不变,同

时添加静态分区,分区字段为etl_date,类型为String,且值为

当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用h

ivecli执行showpartitionsods.order_info命令,将结果截

图粘贴至客户端桌面【Release\任务B提交结果.docx】中对应的

任务序号下;

6、抽取shtd_store库中order_detail的增量数据进入Hive的ods

23

库中表order_detail,根据ods.order_detail表中create_tim

e作为增量字段,只将新增的数据抽入,字段名称、类型不变,

同时添加静态分区,分区字段为etl_date,类型为String,且值

为当前比赛日的前一天日期(分区字段格式为yyyyMMdd)。使用

hivecli执行showpartitionsods.order_detail命令,将结

果截图粘贴至客户端桌面【Release\任务B提交结果.docx】中对

应的任务序号下。

子任务二:数据清洗

编写Scala代码,使用Spark将ods库中相应表数据全量抽取到

Hive的dwd库中对应表中。表中有涉及到timestamp类型的,均要

求按照yyyy-MM-ddHH:mm:ss,不记录毫秒数,若原数据中只有年月

日,则在时分秒的位置添加00:00:00,添加之后使其符合yyyy-MM-

ddHH:mm:ss。

1、抽取ods库中user_info表中昨天的分区(子任务一生成的分区)

数据,并结合dim_user_info最新分区现有的数据,根据id合并

数据到dwd库中dim_user_info的分区表(合并是指对dwd层数

据进行插入或修改,需修改的数据以id为合并字段,根据opera

te_time排序取最新的一条),分区字段为etl_date且值与ods

库的相对应表该值相等,同时若operate_time为空,则用creat

e_time填充,并添加dwd_insert_user、dwd_insert_time、dwd

_modify_user、dwd_modify_time四列,其中dwd_insert_user、d

24

wd_modify_user均填写“user1”。若该条记录第一次进入数仓d

wd层则dwd_insert_time、dwd_modify_time均存当前操作时间,

并进行数据类型转换。若该数据在进入dwd层时发生了合并修改,

则dwd_insert_time时间不变,dwd_modify_time存当前操作时

间,其余列存最新的值。使用hivecli执行showpartitionsd

wd.dim_user_info命令,将结果截图粘贴至客户端桌面【Releas

e\任务B提交结果.docx】中对应的任务序号下;

2、抽取ods库sku_info表中昨天的分区(子任务一生成的分区)数

据,并结合dim_sku_info最新分区现有的数据,根据id合并数

据到dwd库中dim_sku_info的分区表(合并是指对dwd层数据进

行插入或修改,需修改的数据以id为合并字段,根据create_ti

me排序取最新的一条),分区字段为etl_date且值与ods库的

相对应表该值相等,并添加dwd_insert_user、dwd_insert_time、

dwd_modify_user、dwd_modify_time四列,其中dwd_insert_use

r、dwd_modify_user均填写“user1”。若该条数据第一次进入

数仓dwd层则dwd_insert_time、dwd_modify_time均填写当前操

作时间,并进行数据类型转换。若该数据在进入dwd层时发生了

合并修改,则dwd_insert_time时间不变,dwd_modify_time存

当前操作时间,其余列存最新的值。使用hivecli查询表dim_s

ku_info的字段id、sku_desc、dwd_insert_user、dwd_modify_

time、etl_date,条件为最新分区的数据,id大于等于15且小

于等于20,并且按照id升序排序,将结果截图粘贴至客户端桌

25

面【Release\任务B提交结果.docx】中对应的任务序号下;

3、抽取ods库base_province表中昨天的分区(子任务一生成的分

区)数据,并结合dim_province最新分区现有的数据,根据id

合并数据到dwd库中dim_province的分区表(合并是指对dwd层

数据进行插入或修改,需修改的数据以id为合并字段,根据cre

ate_time排序取最新的一条),分区字段为etl_date且值与od

s库的相对应表该值相等,并添加dwd_insert_user、dwd_inser

t_time、dwd_modify_user、dwd_modify_time四列,其中dwd_in

sert_user、dwd_modify_user均填写“user1”。若该条数据第

一次进入数仓dwd层则dwd_insert_time、dwd_modify_time均填

写当前操作时间,并进行数据类型转换。若该数据在进入dwd层

时发生了合并修改,则dwd_insert_time时间不变,dwd_modify

_time存当前操作时间,其余列存最新的值。使用hivecli在表

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_insert_time、dw

26

d_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存当前

操作时间,其余列存最新的值。使用hivecli在表dwd.dim_reg

ion最新分区中,查询该分区中数据的条数,将结果截图粘贴至

客户端桌面【Release\任务B提交结果.docx】中对应的任务序号

下;

5、将ods库中order_info表昨天的分区(子任务一生成的分区)数

据抽取到dwd库中fact_order_info的动态分区表,分区字段为

etl_date,类型为String,取create_time值并将格式转换为y

yyyMMdd,同时若operate_time为空,则用create_time填充,

并添加dwd_insert_user、dwd_insert_time、dwd_modify_user、

dwd_modify_time四列,其中dwd_insert_user、dwd_modify_us

er均填写“user1”,dwd_insert_time、dwd_modify_time均填

写当前操作时间,并进行数据类型转换。使用hivecli执行sho

wpartitionsdwd.fact_order_info命令,将结果截图粘贴至客

户端桌面【Release\任务B提交结果.docx】中对应的任务序号下;

6、将ods库中order_detail表昨天的分区(子任务一中生成的分区)

数据抽取到dwd库中fact_order_detail的动态分区表,分区字

段为etl_date,类型为String,取create_time值并将格式转换

27

为yyyyMMdd,并添加dwd_insert_user、dwd_insert_time、dwd

_modify_user、dwd_modify_time四列,其中dwd_insert_user、

dwd_modify_user均填写“user1”,dwd_insert_time、dwd_mod

ify_time均填写当前操作时间,并进行数据类型转换。使用hiv

ecli执行showpartitionsdwd.fact_order_detail命令,将

结果截图粘贴至客户端桌面【Release\任务B提交结果.docx】中

对应的任务序号下。

子任务三:指标计算

编写Scala代码,使用Spark计算相关指标。

1、本任务基于以下2、3、4小题完成,使用Azkaban完成第2、3、

4题任务代码的调度。工作流要求,使用shell输出“开始”作

为工作流的第一个job(job1),2、3、4题任务为串行任务且它

们依赖job1的完成(命名为job2、job3、job4),job2、job3、

job4完成之后使用shell输出“结束”作为工作流的最后一个j

ob(endjob),endjob依赖job2、job3、job4,并将最终任务调

度完成后的工作流截图,将截图粘贴至客户端桌面【Release\任务

B提交结果.docx】中对应的任务序号下;

字段类型中文含义备注

provinceidint省份表主键

provincenametext省份名称

regionidint地区表主键

regionnametext地区名称

28

totalconsumptiondouble订单总金额当月订单总金额

totalorderint订单总数当月订单总数

yearint年订单产生的年

monthint月订单产生的月

29

2、根据dwd层表统计每个省份、每个地区、每个月下单的数量和下

单的总金额,存入MySQL数据库shtd_result的provinceeverym

onth表中(表结构如下),然后在Linux的MySQL命令行中根据

订单总数、订单总金额、省份表主键均为降序排序,查询出前5条,

将SQL语句复制粘贴至客户端桌面【Release\任务B提交结

果.docx】中对应的任务序号下,将执行结果截图粘贴至客户端桌

面【Release\任务B提交结果.docx】中对应的任务序号下;

3、请根据dwd层表计算出2020年4月每个省份的平均订单金额和所

有省份平均订单金额相比较结果(“高/低/相同”),存入MySQ

L数据库shtd_result的provinceavgcmp表(表结构如下)中,

然后在Linux的MySQL命令行中根据省份表主键、该省平均订单

金额均为降序排序,查询出前5条,将SQL语句复制粘贴至客户

端桌面【Release\任务B提交结果.docx】中对应的任务序号下,

将执行结果截图粘贴至客户端桌面【Release\任务B提交结果.

docx】中对应的任务序号下;

字段类型中文含义备注

provinceidint省份表主键

provincenametext省份名称

provinceavgconsumptiondouble该省平均订

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论