全链路数据治理

本文涉及的产品
对象存储 OSS,20GB 3个月
大数据开发治理平台 DataWorks,不限时长
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 本场景主要介绍以常见的真实的海量日志数据分析任务为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。

全链路数据治理


1. 创建实验资源

开始实验之前,您需要先创建ECS实例资源。

在实验室页面,单击创建资源。

说明 :资源创建过程需要1~3分钟。

(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

2. 采集数据

本步骤将指导您如何通过DataWorks采集日志数据至MaxCompute。

说明 本场景已为您提供OSS数据源和RDS数据源。

新建OSS数据源。

1.1 双击打开虚拟桌面的Chromium网页浏览器。

1.2 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码到用户密码输入框,单击登录。

1.3 复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问DataWorks控制台。

说明:如果您访问DataWorks控制台时,出现了大数据基础服务使用说明网页,请您刷新网页即可。

https://workbench.data.aliyun.com/

1.4 在左侧导航栏中,单击工作空间列表

1.5 工作空间列表页面顶部,选择资源所在地域为上海。

1.6 在工作空间列表页面,找到您的资源,单击右侧操作列下的数据集成。

说明:您可在云产品资源列表中查看资源的项目名称。

1.7 在数据集成首页,单击右上角的 图标。


1.8 在左侧导航栏中,单击数据源管理

1.9 在数据源管理页面,单击右上方的新增数据源。

1.10 在新增数据源对话框中,选择数据源类型为OSS。

1.11 在新增OSS数据源对话框中,配置各项参数,单击更多选项。

参数说明:

数据源名称:输入oss_workshop_log。

Endpoint:输入http://oss-cn-shanghai-internal.aliyuncs.com

Bucket:输入new-dataworks-workshop。

AccessKey ID:输入XXXXXX。

AccessKey Secret:输入XXXXXX。

1.12 在警告对话框中,单击确定。

1.13 在资源组列表,单击公共资源组右侧的测试连通性。

返回如下结果,连通状态为可连通,表示数据集成资源组能够与数据源连通。

1.14在新增OSS数据源对话框中,单击完成。

新建RDS数据源。

2.1 在数据源管理页面,单击右上方的新增数据源。

2.2 在新增数据源对话框中,选择数据源类型为MySQL。

2.3 在新增MySQL数据源对话框中,配置各项参数,单击更多选项。

参数说明:

数据源类型:选择连接串模式。

数据源名称:输入rds_workshop_log。

JDBC URL:输入jdbc:mysql://rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com:3306/workshop

用户名:输入workshop。

密码:输入workshop#2017。

认证选项:选择无认证。

2.4 在资源组列表,单击公共资源组后的测试连通性。

返回如下结果,连通状态为可连通,表示数据集成资源组能够与数据源连通。

2.5 在新增MySQL数据源对话框中,单击完成。

创建业务流程。

3.1 在数据源管理页面,单击左上方的 菜单图标,选择全部产品>数据开发与运维>DataStudio(数据开发)。

3.2 在数据开发页面,右键单击业务流程,选择新建业务流程。

3.3 在新建业务流程对话框中,输入业务名称,例如test,单击新建。

3.4 在业务流程开发面板,单击虚拟节点并拖拽至右侧的编辑页面。

3.5 在新建节点对话框中,节点名称输入为workshop_start,单击提交。

3.6 在业务流程开发面板,单击离线同步并拖拽至右侧的编辑页面。

3.7 在新建节点对话框中,节点名称输入为OSS_数据同步,单击提交

3.8 在业务流程开发面板,单击离线同步并拖拽至右侧的编辑页面。

3.9 在新建节点对话框中,节点名称输入为rds_数据同步,单击提交。

3.10 在右侧的编辑页面,通过拖拽连线,将workshop_start节点设置为两个离线同步节点的上游节点。

配置workshop_start节点。

4.1 在数据开发页面左侧,选择业务流程>您的业务流程>通用,双击虚拟节点workshop_start。

4.2 在该节点的编辑页面,单击右侧的调度配置。

4.3 在调度配置面板的时间属性区域,重跑属性选择为运行成功或失败后皆可重跑在调度配置面板的调度依赖区域,单击使用工作空间根节点,设置workshop_start节点的上游节点为工作空间根节点。

说明

由于新版本给每个节点都设置了输入输出节点,所以需要给workshop_start节点设置一个输入。此处设置其上游节点为工作空间根节点,通常命名为工作空间名称_root。

由于当前实验环境的虚拟桌面浏览器显示问题,如果当前调度配置页面的参数出现了错位,您可以将浏览器的显示百分比设置小一些。

4.4 在该节点的编辑页面左上方,单击 图标保存配置。

新建表。

5.1 在数据开发页面,选择业务流程>MaxCompute,右键单击表,单击新建表。

5.2 在新建表对话框中,表名输入ods_raw_log_d,单击新建。

5.3 在表ods_raw_log_d的编辑页面上方,单击DDL。

5.4 在DDL模式对话框中,输入如下创建OSS日志对应目标表的建表语句,单击生成表结构。

CREATE TABLE IF NOT EXISTS  ods_raw_log_d (
    col STRING
)
PARTITIONED BY (
    dt STRING
);

5.5 在确认操作对话框中,单击确认。

5.6 在表ods_raw_log_d的编辑页面的基本属性区域,中文名输入为OSS日志对应目标表,单击提交到生产环境。

5.7 在提交到生产环境对话框中,单击确认

5.8 在数据开发页面,选择业务流程>MaxCompute,右键单击表,单击新建表。

5.9 在新建表对话框中,表名输入ods_user_info_d,单击提交。

5.10 在表ods_user_info_d的编辑页面上方,单击DDL。

5.11 在DDL模式对话框中,输入如下创建RDS对应目标表的建表语句,单击生成表结构。

CREATE TABLE IF NOT  EXISTS ods_user_info_d (
    uid STRING COMMENT 'uid',
    gender STRING COMMENT 'gender',
    age_range STRING COMMENT 'age_range',
    zodiac STRING COMMENT 'zodiac'
)
PARTITIONED BY (
    dt STRING
);

5.12 在确认操作对话框中,单击确认。

5.13 在表ods_user_info_d的编辑页面的基本属性区域,中文名输入为RDS对应目标表,单击提交到生产环境。

5.14 在提交到生产环境对话框中,单击确认

注意:由于数据集成离线同步做了交互升级,新版离线同步交互调整为3步。但目前在按DataWorks租户灰度中,因此实验可能会遇到新旧两种页面。如果遇到页面显示如下如所示,则为新版;否则为旧版。

旧版和新版可以分别请按照对应的版本步骤操作。

6. 配置离线同步节点(新版)

6.1 在数据开发页面左侧,选择业务流程>您的业务流程>数据集成,双击oss_数据同步

6.2 配置网络连通,连通性通过后单击下一步

参数说明:

数据来源OSS,数据源名称oss_workshop_log

数据去向MaxCompute,数据源名称odps_first

资源组:公共资源组

6.3 在oss_数据同步页面数据来源中,配置如下参数,其他配置保持默认。

参数说明:

文件类型:选择text类型。

文件名(含路径):输入user_log.txt

列分隔符:输入列分隔符为|

6.4 在oss_数据同步页面的数据去向中,配置如下参数,其他配置保存默认。

参数说明:

表:选择数据源中的ods_raw_log_d表。

分区信息:${bizdate},默认填入并默认赋值业务时间bizdate。

说明: odps_first数据源是工作空间绑定MaxCompute实例时,系统自动生成的默认数据源。odps_first数据源写入至当前工作空间下的MaxCompute项目中。

6.5 确认字段映射关系后,单击下一步,配置调度。

6.6 在调度配置面板的时间属性区域,重跑属性选择为运行成功或失败后皆可重跑。在调度配置面板的调度依赖区域的本节点的输出中,输入本节点的输出名称为工作空间名称.ods_raw_log_d,单击添加

说明 :您可在云产品资源列表中查看工作空间名称。

6.7 配置完成后,单击右下角完成配置

6.8 在数据开发页面左侧,选择业务流程>数据集成,双击rds_数据同步

6.9 配置网络连通,连通性通过后单击下一步

参数说明:

数据来源MySQ,数据源名称rds_workshop_log

数据去向MaxCompute,数据源名称odps_first

资源组:公共资源组

6.10 在rds_数据同步页面的数据来源中,配置如下参数,其他配置保持默认。

参数说明:

数据源:选择MySQL>rds_workshop_log数据源。

表:选择数据源中的ods_user_info_d表。

6.11 在rds_数据同步页面的数据去向中,配置如下参数,其他配置保存默认。

参数说明:

表:选择数据源中的ods_user_info_d表。

分区信息:${bizdate},默认填入并默认赋值业务时间bizdate。

6.12 确认字段映射关系后,单击下一步,配置调度。

调度配置面板的时间属性区域,重跑属性选择为运行成功或失败后皆可重跑。在调度配置面板的调度依赖区域的本节点的输出中,输入本节点的输出名称为工作空间名称.ods_user_info_d,单击添加

说明 :您可在云产品资源列表中查看工作空间名称。

6.13 配置完成后,单击右下角完成配置

配置离线同步节点(旧版)。

6.1 在数据开发页面左侧,选择业务流程>您的业务流程>数据集成,双击oss_数据同步

6.2 在oss_数据同步页面的数据来源中,配置如下参数,其他配置保持默认。

参数说明:

数据源:选择OSS>oss_workshop_log数据源。

文件名(含路径):输入user_log.txt。

文件类型:选择text类型。

列分隔符:输入列分隔符为|

6.3 在oss_数据同步页面的数据去向中,配置如下参数,其他配置保存默认。

参数说明:

数据源:选择ODPS>odps_first数据源。

表:选择数据源中的ods_raw_log_d表。

说明: odps_first数据源是工作空间绑定MaxCompute实例时,系统自动生成的默认数据源。odps_first数据源写入至当前工作空间下的MaxCompute项目中。

6.4 在页面右侧,单击调度配置。

6.5 在调度配置面板的时间属性区域,重跑属性选择为运行成功或失败后皆可重跑。在调度配置面板的调度依赖区域的本节点的输出中,输入本节点的输出名称为工作空间名称.ods_raw_log_d,单击添加。

说明 您可在云产品资源列表中查看工作空间名称。

6.6 在页面右侧,单击数据集成资源组配置。

6.7 在数据集成资源组配置面板,单击更多选项。

6.8 在警告对话框中,单击确认。

6.9 在数据集成资源组配置面板,方案选择调试资源组。

6.10 在上方工具栏中,单击 图标保存配置。

6.11 在数据开发页面左侧,选择业务流程>数据集成,双击rds_数据同步。

6.12 在rds_数据同步页面的数据来源中,配置如下参数,其他配置保持默认。

参数说明:

数据源:选择MySQL>rds_workshop_log数据源。

表:选择数据源中的ods_user_info_d表。

6.13 在rds_数据同步页面的数据去向中,配置如下参数,其他配置保存默认。

参数说明:

数据源:选择ODPS>odps_first数据源。

表:选择数据源中的ods_user_info_d表。

6.14 在页面右侧,单击调度配置。

6.15 在调度配置面板的时间属性区域,重跑属性选择为运行成功或失败后皆可重跑在调度配置面板的调度依赖区域的本节点的输出中,输入本节点的输出名称为工作空间名称.ods_user_info_d,单击添加。

说明 您可在云产品资源列表中查看工作空间名称。

6.16 在页面右侧,单击数据集成资源组配置。

6.17 在数据集成资源组配置面板,单击更多选项。

6.18 在数据集成资源组配置面板,方案选择调试资源组。

6.19 在上方工具栏中,单击 图标保存配置。

提交业务流程。

7.1 在数据开发页面左侧,双击您的业务流程。

7.2 在业务流程的编辑页面上方的菜单栏中,单击 提交图标。

7.3 在提交对话框中,选择所有的节点,输入备注,选择忽略输入输出不一致的告警,单击提交。

返回如下页面, 等待所有节点提交成功,单击 图标关闭即可。

运行业务流程

8.1 在上方菜单栏中,单击 图标运行。

8.2 在业务流程的编辑页面,右键单rds_数据同步。

8.3 在功能列表,单击查看日志。

返回结果如下,表示rds_数据同步节点运行成功,并成功同步数据。

8.4 在日志页面右上角,单击 图标关闭日志。

8.5 在业务流程的编辑页面,右键单击oss_di(即下图中的oss_数据同步)

8.6 在功能列表,单击查看日志。

返回结果如下,表示oss_数据同步节点运行成功,并成功同步数据。

确认数据是否成功导入MaxCompute。

9.1 在数据开发页面的左侧导航栏,单击临时查询。

9.2 在临时查询页面左侧,右键单击临时查询,选择新建节点>ODPS SQL。

9.3 在新建节点对话框,单击提交。

9.4 在SQL查询页签,输入如下SQL语句,单击 图标运行,查看导入ods_raw_log_d和ods_user_info_d的记录数。

说明 SQL语句中字段dt的参数${bdp.system.bizdate}表示业务日期,例如,任务运行的日期为20220916,则业务日期为20220915,即任务运行日期的前一天。

select count(*) from ods_raw_log_d where dt=${bdp.system.bizdate};
select count(*) from ods_user_info_d where dt=${bdp.system.bizdate};

9.5 在参数对话框中, 单击确定。

9.6 在MaxCompute计算成本估计对话框中, 单击运行。

返回如下结果,您可以查看到导入ods_raw_log_d表和ods_user_info_d表的记录数,表示OSS和RDS中的数据成功导入到MaxCompute。


3. 加工数据

您本步骤将指导您如何通过DataWorks计算和分析已采集的数据。

新建三张数据表,分别为数据运营层表(ods_log_info_d)、数据仓库层表(dw_user_info_all_d)和数据产品层表(rpt_user_info_d)。

1.1 在临时查询页面的左侧导航中,单击数据开发。

1.2 在数据开发页面,选择业务流程>MaxCompute,右键单击表,单击新建表。

1.3 在新建表对话框中,表名输入为ods_log_info_d,单击新建。

1.4 在表ods_log_info_d的编辑页面上方,单击DDL。

1.5 在DDL模式对话框中,输入如下创建数据运营层表的建表语句,单击生成表结构。

CREATE TABLE IF NOT EXISTS ods_log_info_d (
  ip STRING COMMENT 'ip',
  uid STRING COMMENT 'uid',
  time STRING COMMENT 'timeyyyymmddhh:mi:ss',
  status STRING COMMENT 'status',
  bytes STRING COMMENT 'bytes',
  region STRING COMMENT 'region',
  method STRING COMMENT 'method',
  url STRING COMMENT 'url',
  protocol STRING COMMENT 'protocol',
  referer STRING COMMENT 'referer',
  device STRING COMMENT 'device',
  identity STRING COMMENT 'identity'
)
PARTITIONED BY (
  dt STRING
);

1.6 在确认操作对话框中,单击确认。

1.7 在表ods_log_info_d的编辑页面,中文名输入为数据运营层表,单击提交到生产环境。

1.8 在提交到生产环境对话框中,单击确认

1.9 重复1.2~1.8的步骤,根据如下两个建表语句,新建dw_user_info_all_d表和rpt_user_info_d表,中文名分别输入为数据仓库层表和数据产品层表,然后单击提交到生产环境。

CREATE TABLE IF NOT EXISTS dw_user_info_all_d (
  uid STRING COMMENT 'uid',
  gender STRING COMMENT 'gender',
  age_range STRING COMMENT 'age_range',
  zodiac STRING COMMENT 'zodiac',
  region STRING COMMENT 'region',
  device STRING COMMENT 'device',
  identity STRING COMMENT 'identity',
  method STRING COMMENT 'method',
  url STRING COMMENT 'url',
  referer STRING COMMENT 'referer',
  time STRING COMMENT 'timeyyyymmddhh:mi:ss'
)
PARTITIONED BY (
  dt STRING
);
CREATE TABLE IF NOT EXISTS rpt_user_info_d (
  uid STRING COMMENT 'uid',
  region STRING COMMENT 'uid',
  device STRING COMMENT 'device',
  pv BIGINT COMMENT 'pv',
  gender STRING COMMENT 'gender',
  age_range STRING COMMENT 'age_range',
  zodiac STRING COMMENT 'zodiac'
)
PARTITIONED BY (
  dt STRING
);

设计业务流程。

2.1 在数据开发页面左侧,双击您的业务流程。

2.2 在业务流程开发面板,单击ODPS SQL并拖拽至右侧的编辑页面。

2.3 在新建节点对话框中,节点名称输入为ods_log_info_d,单击提交。

2.4 在业务流程开发面板,单击ODPS SQL并拖拽至右侧的编辑页面。

2.5 在新建节点对话框中,节点名称输入为dw_user_info_all_d,单击提交。

2.6 在业务流程开发面板,单击ODPS SQL并拖拽至右侧的编辑页面。

2.7 在新建节点对话框中,节点名称输入为rpt_user_info_d,单击提交。

2.8 在右侧的编辑页面,通过拖拽连线,配置如下图所示的依赖关系。

创建用户自定义函数。

3.1 复制下方地址,在Chromium浏览器打开新页签,粘贴并访问,下载ip2region.jar。


https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/85298/cn_zh/1532163718650/ip2region.jar?spm=a2c4g.11186623.0.0.43df4d0dwSRLzd&file=ip2region.jar

3.2 切换回数据开发页面,选择业务流程>您的业务流程>MaxCompute,右键单击资源,选择新建资源>JAR。

3.3 在新建资源对话框中,单击点击上传。

3.4 在打开文件面板中,单击下载目录,选择ip2region.jar,单击选择。

3.5 在新建资源对话框中,单击新建。

3.6 在上方工具栏中,单击图标提交。

3.7 在提交新版本对话框中,单击提交。

3.8 在数据开发页面,选择业务流程>您的业务流程>MaxCompute,右键单击函数,单击新建函数。

3.9 在新建函数对话框中,函数名称输入为getregion,单击新建。

3.10 在注册函数页签,配置如下参数,其他配置保持默认,单击 图标保存。

参数说明:

类名:输入org.alidata.odps.udf.Ip2Region。

资源列表:输入ip2region.jar。

描述:输入IP地址转换地域。

命令格式:输入getregion(‘ip’)

参数说明:输入IP地址。

3.11在注册函数页签,单击 图标提交。

3.12 在提交新版本对话框中,单击确定。

配置ODPS SQL节点。

4.1 在数据开发页面,选择业务流程>您的业务流程>MaxCompute>数据开发,双击ods_log_info_d。

4.2 在ods_log_info_d节点编辑页面,输入如下SQL语句,单击 图标保存。

INSERT OVERWRITE TABLE ods_log_info_d PARTITION (dt=${bdp.system.bizdate})
SELECT ip
  , uid
  , time
  , status
  , bytes 
  , getregion(ip) AS region --使用自定义UDF通过IP得到地域。
  , regexp_substr(request, '(^[^ ]+ )') AS method --通过正则把request差分为3个字段。
  , regexp_extract(request, '^[^ ]+ (.*) [^ ]+$') AS url
  , regexp_substr(request, '([^ ]+$)') AS protocol 
  , regexp_extract(referer, '^[^/]+://([^/]+){1}') AS referer --通过正则清晰refer,得到更精准的URL。
  , CASE
    WHEN TOLOWER(agent) RLIKE 'android' THEN 'android' --通过agent得到终端信息和访问形式。
    WHEN TOLOWER(agent) RLIKE 'iphone' THEN 'iphone'
    WHEN TOLOWER(agent) RLIKE 'ipad' THEN 'ipad'
    WHEN TOLOWER(agent) RLIKE 'macintosh' THEN 'macintosh'
    WHEN TOLOWER(agent) RLIKE 'windows phone' THEN 'windows_phone'
    WHEN TOLOWER(agent) RLIKE 'windows' THEN 'windows_pc'
    ELSE 'unknown'
  END AS device
  , CASE
    WHEN TOLOWER(agent) RLIKE '(bot|spider|crawler|slurp)' THEN 'crawler'
    WHEN TOLOWER(agent) RLIKE 'feed'
    OR regexp_extract(request, '^[^ ]+ (.*) [^ ]+$') RLIKE 'feed' THEN 'feed'
    WHEN TOLOWER(agent) NOT RLIKE '(bot|spider|crawler|feed|slurp)'
    AND agent RLIKE '^[Mozilla|Opera]'
    AND regexp_extract(request, '^[^ ]+ (.*) [^ ]+$') NOT RLIKE 'feed' THEN 'user'
    ELSE 'unknown'
  END AS identity
  FROM (
    SELECT SPLIT(col, '##@@')[0] AS ip
    , SPLIT(col, '##@@')[1] AS uid
    , SPLIT(col, '##@@')[2] AS time
    , SPLIT(col, '##@@')[3] AS request
    , SPLIT(col, '##@@')[4] AS status
    , SPLIT(col, '##@@')[5] AS bytes
    , SPLIT(col, '##@@')[6] AS referer
    , SPLIT(col, '##@@')[7] AS agent
  FROM ods_raw_log_d
  WHERE dt = ${bdp.system.bizdate}
) a;

4.3 在数据开发页面,选择业务流程>您的业务流程>MaxCompute>数据开发,双击dw_user_info_all_d。

4.4 在dw_user_info_all_d节点的编辑页面,输入如下SQL语句,单击 图标保存。

INSERT OVERWRITE TABLE dw_user_info_all_d PARTITION (dt='${bdp.system.bizdate}')
SELECT COALESCE(a.uid, b.uid) AS uid
  , b.gender
  , b.age_range
  , b.zodiac
  , a.region
  , a.device
  , a.identity
  , a.method
  , a.url
  , a.referer
  , a.time
FROM (
  SELECT *
  FROM ods_log_info_d
  WHERE dt = ${bdp.system.bizdate}
) a
LEFT OUTER JOIN (
  SELECT *
  FROM ods_user_info_d
  WHERE dt = ${bdp.system.bizdate}
) b
ON a.uid = b.uid;

4.5 在数据开发页面,选择业务流程>您的业务流程>MaxCompute>数据开发,双击rpt_user_info_d。

4.6 在rpt_user_info_d节点的编辑页面,输入如下SQL语句,单击 图标保存。

INSERT OVERWRITE TABLE rpt_user_info_d PARTITION (dt='${bdp.system.bizdate}')
SELECT uid
  , MAX(region)
  , MAX(device)
  , COUNT(0) AS pv
  , MAX(gender)
  , MAX(age_range)
  , MAX(zodiac)
FROM dw_user_info_all_d
WHERE dt = ${bdp.system.bizdate}
GROUP BY uid;

提交业务流程。

5.1 在数据开发页面左侧,双击您的业务流程。

5.2 在业务流程的编辑页面上方菜单栏中,单击 提交图标,提交业务流程中已配置完成的节点。

5.3 在提交对话框中,选择所有的节点,备注输入提交业务流程,选择忽略输入输出不一致的告警,单击提交。

返回如下页面, 等待所有节点提交成功,单击 图标关闭即可。

运行业务流程。

6.1 在业务流程的编辑页面上方菜单栏中,单击 图标运行。

返回如下页面,等待3~5分钟,所有节点显示为 后,表示任务运行完成。

6.2 在左侧导航栏中,单击临时查询。

6.3 在临时查询面板,右键单击临时查询,选择新建节点>ODPS SQL。

6.4 在新建节点对话框中,单击提交。

6.5 在SQL查询页签,输入如下SQL语句,单击 图标运行,查看rpt_user_info_d数据情况,确认数据产出。

说明 SQL语句中字段dt中的${bdp.system.bizdate}表示业务日期。例如,任务运行的日期为20180717,则业务日期为20180716,即任务运行日期的前一天。

select * from rpt_user_info_d where dt=${bdp.system.bizdate} limit 10;

6.6 在参数对话框中,单击确定。

6.7 在MaxCompute计算成本估计对话框中,单击运行。

返回如下结果,表示数据已产出。

在生产环境运行任务。

7.1在页面上方,单击运维中心。

7.2 在运维中心页面,选择周期任务运维>周期任务。

7.3 在周期任务页面,单击workshop_start业务流程。

7.4 在DAG图中,右键单击workshop_start节点,选择补数据>当前节点及下游节点。

7.5 在补数据对话框中,选择所有任务,单击确定。

7.6 在确认框对话框中,单击确认。

返回如下页面,单击刷新,等待3~5分钟,直至所有任务运行成功即可。


4. 配置数据质量监控

本步骤将指导您如何监控数据质量、设置表的质量监控规则和监控提醒等。

进入表ods_log_info_d的监控规则页面。

1.1 在Chromium网页浏览器,切换至数据开发页签。单击左上方的图标,选择全部产品>数据治理>数据质量。

1.2 在左侧导航栏中,选择规则配置>按表配置。

1.3 在按表配置页面,单击ods_log_info_d表后的配置监控规则。

配置表ods_log_info_d的监控规则。

2.1 在分区表达式模块,单击 图标。

2.1 在添加分区对话框中,分区表达式选择dt=$[yyyymmdd-1],单击确认。

2.3 在表ods_log_info_d的监控规则页面,单击创建规则。

2.4 在创建规则面板中,选择模板规则>添加监控规则。

2.5 在创建规则面板中,根据如下配置相关参数,其他配置保持默认,单击批量添加。

说明 该规则主要是为了避免分区中没有数据,导致下游任务的数据来源为空的问题。

参数说明:

规则名称:输入ods_log_info_d表规则。

强弱:选择强。

规则模板:选择表行数,固定值。

比较方式:选择大于。

返回如下页面,您已成功为ods_log_info_d表添加表规则。

测试正常调度试跑。

3.1 在配置表ods_log_info_d的监控规则页面,单击试跑。

3.2 在试跑对话框中,单击试跑。

3.3 在试跑对话框中,单击试跑成功!点击查看试跑结果。

返回如下页面,您可查看到调度结果是正常的。由于调度数据同步正常,表行数大于0,所以试跑结果显示正常。

测试失败调度试跑。

4.1 在Chromium网页浏览器中,切换至数据开发页面。在临时查询面板,右键单击临时查询,选择新建节点>ODPS SQL

4.2 在新建节点对话框中,单击提交

4.3 在SQL查询页签,输入如下SQL语句,删除ods_log_info_d表中数据。

说明:SQL语句中字段dt的${bdp.system.bizdate}表示业务日期。例如,任务运行的日期为20180717,则业务日期为20180716,即任务运行日期的前一天。

truncate table ods_log_info_d partition(dt=${bdp.system.bizdate});

4.4 在参数对话框中,单击确定

4.5 在费用预估对话框,单击运行

返回结果如下,表示您已成功删除删除ods_log_info_d表中数据。

4.6 在Chromium网页浏览器切换至数据质量页面,单击试跑

4.6 在试跑对话框中,单击试跑。

4.7 在试跑对话框中,单击试跑成功!点击查看试跑结果。

返回如下页面,您可查看到调度结果是红色异常的。由于调度数据同步正常,表行数为0,所以试跑结果显示红色异常。


5. 数据可视化展现

本步骤将指导您如何通过DataWorks的数据分析功能实现数据表rpt_user_info_d的可视化。

进入数据分析

在Chromium网页浏览器,切换至数据开发页签。单击左上方的图标,选择全部产品>数据分析>SQL查询。

配置数据源。

2.1 单击新建SQL查询

2.2 设置数据源。

2.3 去安全中心,进行授权。

2.4 选择自己MaxCompute引擎实例同名的数据源,单击授权

2.5 空间角色选择数据分析师,空间成员选择实验给自己分配的子账号。单击确认,完成授权。

2.6 回到SQL查询页面,选择对应数据源,单击保存

编写SQL。

3.1 在临时文件页签,输入如下SQL语句,单击 图标,查询rpt_user_info_d表数据情况。

说明:SQL语句中字段dt的${bdp.system.bizdate}表示为业务日期。例如,任务运行的日期为20180717,则业务日期为20180716,即任务运行日期的前一天。

select * from rpt_user_info_d where dt=${bdp.system.bizdate};

3.2 在成本预估对话框中,单击运行

返回结果如下,您可查看到rpt_user_info_d表数据。

修改字段类型。

4.1 在结果区域,单击左侧的 图标。

4.2 在待选字段列表中,找到pv字段,单击其右侧的 图标,选择修改类型>数值

4.3 在待选字段列表中,找到dt字段,单击其右侧的 图标,选择修改类型>日期

城市注册人数排行榜分析。

5.1 在结果区域,图标类型选择条形图

5.2 在结果区域,将维度中的uid字段删除。

5.3 在结果区域,将待选字段列表中的region字段拖入到维度中。

5.4 在结果区域的维度中,选择region>设置字段信息

5.5 在设置字段信息对话框中,字段展示名输入为身份,单击确认

5.6 在结果区域的指标中,选择计数(uid)>设置字段信息

5.7 在设置字段信息对话框中,字段展示名输入为注册会员数,单击确认

5.8 在结果区域的指标中,选择聚合方式>去重计数

返回结果如下,您可查看到城市注册人数排行榜分析。

注册会员访问次数年龄分布。

6.1 在结果区域,图标类型选择饼图

6.2 在结果区域,将维度中的省份字段删除。

6.3 在结果区域,将待选字段列表中的age_range字段拖入到维度中。

6.4 在结果区域的维度中,选择age_range>设置字段信息

6.5 在设置字段信息对话框中,字段展示名输入为年龄区间,单击确认

6.6 在结果区域,将指标中的注册会员数字段删除。

6.7 在结果区域,将待选字段列表中的pv字段拖入到指标中。

6.8 在结果区域的指标中,选择求和(pv)>设置字段信息

6.9 在设置字段信息对话框中,字段展示名输入为访问次数,单击确认

6.10 在结果区域的指标中,选择访问次数>聚合方式>求和

返回结果如下,您可查看到注册会员访问次数年龄分布。

注册会员性别访问次数分布。

7.1 在结果区域,将维度中的年龄区间字段删除。

7.2 在结果区域,将待选字段列表中的gender字段拖入到维度中。

7.3 在结果区域的维度中,选择gender>设置字段信息

7.4 在设置字段信息对话框中,字段展示名输入为性别,单击确认

返回结果如下,您可查看到注册会员性别访问次数分布。

男女星座访问次数分析。

8.1 在结果区域,将待选字段列表中的zodiac字段拖入到维度中。

8.2 在结果区域的维度中,选择zodiac>设置字段信息

8.3 在设置字段信息对话框中,字段展示名输入为星座,单击确认

8.4 在结果区域,图标类型选择柱状图

返回结果如下,您可查看到男女星座访问次数分析。

实验链接:https://developer.aliyun.com/adc/scenario/eed3362c8a0943a9b7ab7ec774aed335

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
11月前
|
DataWorks 关系型数据库 网络安全
带你读《全链路数据治理-全域数据集成》之19:5. 场景(上)
带你读《全链路数据治理-全域数据集成》之19:5. 场景(上)
183 0
|
11月前
带你读《全链路数据治理-全域数据集成》之23:2. 使用限制
带你读《全链路数据治理-全域数据集成》之23:2. 使用限制
135 0
|
11月前
|
DataWorks 关系型数据库 网络安全
带你读《全链路数据治理-全域数据集成》之19:5. 场景(下)
带你读《全链路数据治理-全域数据集成》之19:5. 场景(下)
149 0
|
11月前
|
DataWorks 关系型数据库 MySQL
带你读《全链路数据治理-全域数据集成》之28:2. 使用限制
带你读《全链路数据治理-全域数据集成》之28:2. 使用限制
102 0
|
11月前
|
分布式计算 DataWorks MaxCompute
带你读《全链路数据治理-全域数据集成》之33:2. 使用限制
带你读《全链路数据治理-全域数据集成》之33:2. 使用限制
121 0
|
11月前
|
SQL 运维 关系型数据库
带你读《全链路数据治理-全域数据集成》之31:5. 任务运维
带你读《全链路数据治理-全域数据集成》之31:5. 任务运维
149 0
|
11月前
|
分布式计算 运维 Java
带你读《全链路数据治理-全域数据集成》之36:5. 任务运维
带你读《全链路数据治理-全域数据集成》之36:5. 任务运维
158 0
|
11月前
|
分布式计算 MaxCompute 数据库
带你读《全链路数据治理-全域数据集成》之35:4.任务配置(中)
带你读《全链路数据治理-全域数据集成》之35:4.任务配置(中)
137 0
|
11月前
|
SQL 分布式计算 DataWorks
带你读《全链路数据治理-全域数据集成》之25:4. 配置任务
带你读《全链路数据治理-全域数据集成》之25:4. 配置任务
201 1
|
SQL DataWorks 数据可视化
全链路数据治理-4
全链路数据治理-4
171 0