介绍DataWorks快速构建数仓并应用到业务上的实例

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: 用实例介绍使用dataworks快速创建数仓

/09/05﷽﷽﷽﷽﷽﷽﷽署析电影题材,故事,工任联表,电影与工示例说明

实验背景:

本实验基于五年好莱坞电影数据,了解通过 DataWorks 操作 MaxCompute 来构建数据仓库,ETL清洗数据,并同步数据给应用数据库,完成从数据到线上应用的过程。

使用工具:

大数据计算服务(MaxCompute)+ 大数据开发(DataWorks)

 

实验数据:

基于2007-2011年五年间的好莱坞电影数据,分析电影题材,故事,工作室与电影之间的关系

 

数据准备:

样例数据:

使用2007-2012年5年的好莱坞电影数据

字段名称            

字段说明

film                   

电影名称

major_studio         

主要工作室

rotten_tomatoes       

 烂蕃茄评分

audience_score

观众评分

story

故事

genre

体裁

week_theatres_num    

上映场数

week_boxOffice_avf  

 每周平均票房

domestic_gross_m

国内票房

foreign_gross_m

国外票房

worldwide_gross_m

世界票房

budget

预算

market_profitability

市场占有率

opening_weekend

上映周数

oscar

奥斯卡

bafta

英国电影学院奖

sourec 

来源,全是 the_numbs.com

domestic_gross

国内票房

foreign_gross

国外票房

worldwide_gross

世界票房

budget

预算

 

实验步骤:

前期准备

创建项目

进入项目列表,点击创建项目,选择服务项目,配置基本信息

21eb820481caf02ef99b905ba894e0dfa8aa0f27

79f80bf040685a7a238d3a540386deb91922ab3030e092ef81ca579565aa876e3a4fa3fb08f8f58b


进入工作区

在任务列表或DataWorks控制台首页点击进入工作区

 56ad5fffccfb2fb2227c1a8c44829b911b5e4834

 

 818568fa34f8b4ed8c513ff13275dda42a78e476

数据ETL

建表

     按年分区建一张原始数据表,用于存储已准备好的好莱坞电影数据

1. 可以在数据管理的数据表管理里面新建(可视化建表)

a54ba496c51f8094abadad99e3fecfb7fd7c7dcc

2.可以在数据开发区使用建表语句建表

3c5e01bbd769fcab1a3e5b6bae435ef49987498d

 

建表语句:

CREATE TABLE ods_hollywood_movie_data_dd (

film STRING COMMENT '电影名称',

major_studio STRING COMMENT '主要工作室',

rotten_tomatoes STRING COMMENT '烂蕃茄网',

audience_score STRING COMMENT '观众评分',

story STRING COMMENT '故事',

genre STRING COMMENT '体裁',

week_theatres_num STRING COMMENT '周上印场数',

week_boxoffice_avf STRING COMMENT '周平均票房',

domestic_gross_m STRING COMMENT '国内总票房',

foreign_gross_m STRING COMMENT '国外总票房',

worldwide_gross_m STRING COMMENT '世界总票房',

budget_m STRING COMMENT '预算',

market_profitability STRING COMMENT '市场盈利能力',

opening_weekend STRING COMMENT '上印周数',

oscar STRING COMMENT '奥斯卡',

bafta STRING COMMENT '英国电影学院奖',

source STRING COMMENT '来源',

domestic_gross STRING COMMENT '国内总票房',

foreign_gross STRING COMMENT '外票总票房',

worldwide_gross STRING COMMENT '世界总票房',

budget STRING COMMENT '预算'

)

COMMENT '电影初始采集数据'

PARTITIONED BY (

yy BIGINT COMMENT '年份'

)

LIFECYCLE 100000;

 

导入本地数据

按分区将准备好的2007-2011年5年的数据分别导入对应的分区

1.         在数据开发区域-点击导入-选择导入本地数据

211b4cf64e6778b3b9cbc8bc61aff8bb55575a3c

2.         选择本地文件-配置文件格式等信息

bbea6bb98cd969c9e7233924fc7e5760ad9a2380

3.         选择建好的表-指定分区,并做好数据内容与字段的映射

分区检测是否已有数据,如果已有,先把分区删除,导入自动追加而不是覆盖

8abf22b59bbcf387975b39d7fdff224cc1d42739

4.         导入数据,导入成功右上角提示导入成功

 

创建脚本清洗数据

1.     创建脚本

新建一张dwd表用于存储处理特殊格式后的数据

数据开发区-新建脚本文件-输入文件名-确定

a180d24be0766b80e7ef157cde264a232c816a77

2.     编写脚本

主要处理部分金额数值为?/??的数据,都清洗成0,部分金额数值中带了$符号,统一去除。

 

3.     运行脚本

脚本中带有分区参数,运行时需要填上参数,点脚本上方运行

24668838e4a31e99a07fd647a61cc32ffd2364f1

按业务需求处理数据

多原始表中清洗出 电影信息表,电影与体裁的关联表,电影与获奖奖项的关联表,电影与故事情节的关联表,电影与工作室的关联表

新建任务-因为数据是预先获取,所以选择手动任务,如果是周期数据可以选择周期高度,按流程依赖执行

 f1a0664e4b70d4fbd4ab204b934790e34410bfab

编写脚本

编写业务逻辑sql,创建业务表并从原始表中提取相关的数据

30f153f513c5ef00eb468090fe69594624b5b3a9

运行任务

脚本上方有测试运行

切换到运维页面-手动任务-运行

 ca88075c5f657067c108f3874465596caaf7c35f

 4f339c930c908fc87a5739267f80adf7f8c921e3

 

执行完成后,数据处理完成,可以将数据同步到业务平台进行分析。

数据同步

新建数据源

数据集成-数据源-新建数据源

按提示输入数据源信息,注意添加白名单


 c5605220b42ff3499e337ca4c859b1dbed75aa3f

同步任务创建

数据集成-同步任务-选择向导模式-按流程步骤填写

选择源数据-odps及表名

d5bc81f1b0d5d1ec3fc2d9bafe177f459cde83fa

 

 

 1530c8ff239db13f3e64c0421785083aeec6b1d3

 

选择目标数据源-表名

 b3ddda0ab9bc0cfa00f0777ac2d875851b05f7bc

字段映射

d962c70662f2ab7c98a7395fae101e46bc5bba44

 

配置资源并发数等

cf27c61e46392a9b3405dd7a64127b20b98bebdb

保存同步任务

c1377aabe0bdb843a5f6c8bd3da8c04a97343d46

938efadc902e0f11061eb13c79645f232e6c692d

运行同步任务

df4a35838a36c36789493e24c014eae8b458decd

 

查看日志-同步完成

aa8b72f3d898c130b1b0f391d7b5c57debe7c91c

 

业务效果

数据同步到业务数据库后,配置相应信息,业务的展示效果如下

27c1801c44e44ae9736e3835ed607666fbc7b1d5

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
SQL 存储 大数据
数据仓库(10)数仓拉链表开发实例
拉链表是数据仓库中特别重要的一种方式,它可以保留数据历史变化的过程,这里分享一下拉链表具体的开发过程。 维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的客户记录。
167 13
数据仓库(10)数仓拉链表开发实例
|
1月前
|
SQL 分布式计算 OLAP
医疗在线OLAP场景下基于Apache Hudi 模式演变的改造与应用
医疗在线OLAP场景下基于Apache Hudi 模式演变的改造与应用
36 2
|
1月前
|
存储 数据处理 Apache
万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
76 0
|
2月前
|
SQL 物联网 数据挖掘
StarRocks:从概念到应用的下一代分析型数据库
在大数据时代,企业对数据处理的需求日益增长,特别是在实时数据分析方面。StarRocks 是一种新兴的分布式关系型数据库,专为快速且高并发的实时分析设计。本文将从 StarRocks 的基本概念入手,逐步深入到其应用层面,探讨这一技术如何在现实世界中发挥作用。
93 1
|
3月前
|
存储 人工智能 运维
轻喜到家基于 EMR-StarRocks 构建实时湖仓分析平台实践
本文从轻喜到家的历史技术架构与痛点问题、架构升级需求与 OLAP 选型过程、最新技术架构及落地场景应用等方面,详细介绍了轻喜到家基于 EMR-StarRocks 构建实时湖仓分析平台实践经验。
904 0
轻喜到家基于 EMR-StarRocks 构建实时湖仓分析平台实践
|
3月前
|
SQL 存储 Apache
Paimon 实践 | 基于 Flink SQL 和 Paimon 构建流式湖仓新方案
Paimon 实践 | 基于 Flink SQL 和 Paimon 构建流式湖仓新方案
405 1
|
3月前
|
SQL 关系型数据库 Apache
Apache Doris 整合 FLINK CDC 、Paimon 构建实时湖仓一体的联邦查询入门
Apache Doris 整合 FLINK CDC 、Paimon 构建实时湖仓一体的联邦查询入门
675 1
|
3月前
|
存储 SQL 弹性计算
Hologres V2.1版本发布,新增计算组实例构建高可用实时数仓
新增弹性计算组实例,解决实时数仓场景下分析性能、资源隔离、高可用、弹性扩缩容等核心问题,同时新增多种用户分析函数与实时湖仓Paimon格式支持,COUNT DISTINCT优化显著提升查询效率。
|
3月前
|
存储 消息中间件 Kafka
流式湖仓增强,Hologres + Flink 构建企业级实时数仓
2023 年 12 月,由阿里云主办的实时计算闭门会在北京举行,阿里云实时数仓 Hologres 研发负责人姜伟华现场分享 Hologres+Flink 构建的企业级实时数仓,实现全链路的数据实时计算、实时写入、实时更新、实时查询。
120788 107
流式湖仓增强,Hologres + Flink 构建企业级实时数仓
|
3月前
|
存储 消息中间件 Kafka
实时湖仓增强,Hologres + Flink构建企业级实时数仓
本文主要介绍Hologres+Flink构建的企业级实时数仓,实现全链路的数据实时计算、实时写入、实时更新、实时查询。

热门文章

最新文章