全链路数据治理

简介: 本场景主要介绍以常见的真实的海量日志数据分析任务为背景,如何通过使用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

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
机器学习/深度学习 数据采集 人工智能
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
|
存储 DataWorks Unix
Dataworks数据集成之“文本数据”
Dataworks不是支持文本数据导入么?为什么Excel数据不能导入?CSV文件不就是Excel文件么?关于这些问题,我整理了一篇文章进行解释。
1336 2
|
Java Maven Spring
SpringBoot-读取配置文件(映射法)
本文是关于Spring Boot框架下读取配置文件的指南。该指南介绍了如何通过注解和属性文件来加载和访问应用程序的配置信息。Spring Boot提供了简单而强大的功能,可以轻松地加载各种类型的配置文件,并将其映射到Java对象中。通过使用@ConfigurationProperties注解,或者使用@Value注解从配置文件中读取属性值。
815 0
|
8月前
|
人工智能 中间件 API
别让创意卡在工具链!MiniMax MCP Server:MiniMax 开源 MCP 服务打通多模态生成能力,视频语音图像一键全搞定
MiniMax MCP Server 是基于模型上下文协议的多模态生成中间件,支持通过文本指令调用视频生成、图像创作、语音合成及声音克隆等能力,兼容主流客户端实现跨平台调用,采用检索增强生成技术保障内容准确性。
703 3
别让创意卡在工具链!MiniMax MCP Server:MiniMax 开源 MCP 服务打通多模态生成能力,视频语音图像一键全搞定
|
存储 消息中间件 Java
快速了解分布式跟踪系统 Zipkin
【8月更文挑战第8天】快速了解分布式跟踪系统 Zipkin
413 3
快速了解分布式跟踪系统 Zipkin
|
5月前
|
SQL DataWorks 监控
免费玩转阿里云DataWorks!智能Copilot+用户画像实战,开发效率翻倍攻略
DataWorks是阿里云推出的一站式大数据开发与治理平台,具备数据集成、开发、管理、安全及智能监控等功能,支持多行业数据中台建设。其可视化界面与强大调度能力,助力企业高效完成数据处理与分析。
874 0
|
人工智能 关系型数据库 MySQL
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
本文通过一个利用百炼大模型平台和Dataphin数据服务API构建一个客户360智能应用的案例,介绍如何使用Dataphin数据服务API在百炼平台创建一个自定义插件,用于智能应用的开发,提升企业智能化应用水平。
733 4
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
|
10月前
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
11月前
|
机器学习/深度学习 自然语言处理 算法
大语言模型中常用的tokenizer算法
不同算法有各自的适用场景和优缺点,选择时应根据具体需求和数据特点进行综合考虑。通过本文的介绍,希望您能更好地理解和应用这些tokenizer算法,从而提升NLP任务的效果和效率。
988 9
|
关系型数据库 MySQL 数据库
成功解决:Navicat 连接虚拟机Docker中的mysql数据库失败(仅限某些特殊情况)
这篇文章介绍了在Ubuntu环境中使用Docker部署Flask项目的方法,包括创建测试项目、设置数据库、构建Flask和Nginx镜像以及容器编排,其中使用了MySQL 5.7作为数据库,Flask 2.0.2作为Web框架,Gunicorn 20.1.0作为应用服务器,Nginx 1.21.4作为反向代理,并解决了Navicat连接Docker中的MySQL数据库失败的问题。