介绍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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介 本项目教程以国内电商巨头实际业务应用场景为依托,同时以阿里云ECS服务器为技术支持,紧跟大数据主流场景,对接企业实际需求,对电商数仓的常见实战指标进行了详尽讲解,让你迅速成长,获取最前沿的技术经验。 二、项目架构 版本框架:Flume、DateHub、DataWorks、MaxCompute、MySql以及QuickBI等; Flume:大数据领域被广泛运用的日志采集框架; DateHub:类似于传统大数据解决方案中Kafka的角色,提供了一个数据队列功能。对于离线计算,DataHub除了供了一个缓冲的队列作用。同时由于DataHub提供了各种与其他阿里云上下游产品的对接功能,所以DataHub又扮演了一个数据的分发枢纽工作; 据上传和下载通道,提供SQL及MapReduce等多种计算分析服务,同时还提供完善的安全解决方案; DataWorks:是基于MaxCompute计算引擎,从工作室、车间到工具集都齐备的一站式大数据工厂,它能帮助你快速完成数据集成、开发、治理、服务、质量、安全等全套数据研发工作; QuickBI & DataV:专为云上用户量身打造的新一代智能BI服务平台。 三、项目场景 数仓项目广泛应用大数据领域,该项目技术可以高度适配电商、金融、医疗、在线教育、传媒、电信、交通等各领域; 四、项目特色 本课程结合国内多家企业实际项目经验。从集群规模的确定到框架版本选型以及服务器选型,手把手教你从零开始搭建基于阿里云服务器的大数据集群。采用阿里云ECS服务器作为数据平台,搭建高可用的、高可靠的Flume数据采集通道,运用阿里云DateHub构建中间缓冲队列并担任数据分发枢纽将数据推送至阿里自主研发的DataWorks对数据进行分层处理,采用MaxCompute作为处理海量数据的方案,将计算结果保存至MySQL并结合阿里的QuickBI工作做最终数据展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值