细说Dataphin自动解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Dataphin自动解析

Dataphin v3.10 版本对调度依赖配置做了比较大的调整,主要的变更点有:

  1. 统一了 集成同步任务,计算任务和逻辑表的调度依赖交互
  2. 上游依赖列表调整
  1. 本周期依赖和上周期依赖合并到同一个列表
  2. 增加了依赖任务筛选
  3. 依赖任务列表项扩展展示更多信息,如: 调度周期,依赖周期,是否开启条件调度
  1. 自动解析优化,自动解析不再依赖节点输出名,而是直接使用任务与表的血缘关系,本文将着重说明。
  2. 弱化节点输出名,用户无需再配置输出名,也不用刻意关注。

自动解析流程

下图为 v3.10 版本自动解析的流程

新的流程与原来的旧流程的区别对比如下:

对比项

v3.9 及之前版本

v3.10 版本

改进点

解析结果

输入表

输入表

维护 输入表与产出任务关系 的系统

调度系统内部(节点输出名)

资产血缘

1. 集成任务,SQL 计算任务,逻辑表提交发布时,系统自动根据任务的逻辑生成任务与该任务的输出表的映射关系(即 表与产出任务 血缘),无须用户人工干预

2. shell/python/mr 等任务用户可以通过自定义血缘补充血缘数据

3. 血缘数据覆盖度和准确度比较高,原来的节点输出名覆盖度和准确度相对较低(节点输出名可以被人工干预,准确性不足)

找不到输入表对应产出任务时的处理策略

直接忽略

列举在依赖列表中,需要用户人工处理

可以帮助发现没有产出任务的依赖表,避免出现依赖缺失的情况

资产血缘

v3.10 自动解析使用了资产血缘,这又是什么呢?

在资产目录中,打开一个表,进入表资产详情,可以在资产信息中,看到该表的产出信息,见下图。

  1. 当集成任务,SQL 计算任务,逻辑表提交发布时,系统会自动将当前任务节点的信息与输出表之间的关系维护到资产中。
  2. 对于 shell/python/mr 等非 SQL 任务,Dataphin 无法从任务代码中解析到输出表,用户可以通过自定义血缘的方式补充血缘信息,见下图。

大部分的表与任务的映射关系都是由系统自动生成和维护的,保障了数据的准确度;人工填报的自定义血缘,提高了覆盖度。

节点输出名

v3.10 的自动解析已经不依赖节点输出名,此处还是解释下节点输出名是做什么的。

在此之前,先来说明几个概念:

  1. Dataphin 节点就是任务,包含 集成任务,计算任务,逻辑表任务 等
  2. 节点名称(任务名称) ,集成任务和计算任务创建时由用户输入的用户名称,逻辑表任务名称与逻辑表名相同。由于历史原因,节点名称没有设计为全局唯一,而是在导航目录下唯一。
  3. 节点(任务) ID,是节点(任务)提交时,系统自动生成的全局唯一 ID。任务发布后,开发环境与生成环境的 ID 需要保持一致。但由于历史原因,这个原则在历史版本中未落实(指向不唯一)。
  4. 任务提交发布后,调度系统需要一个全局唯一 ID 来明确定位某一个节点(任务),以生成调度依赖图(DAG)。

由于节点名称和节点 ID 无法确保全局唯一且指向唯一,因此引入了“节点输出名”来承担节点全局唯一 ID 的作用。

在 v3.9 及之前版本,节点输出名还承载着输出表与节点任务映射关系的作用。节点输出名称如果与某一个表的名称(格式为 {生产项目名.表名称})一致,则认为该节点产出了该表。节点输出名的生成机制:

  1. SQL 计算任务自动解析时,系统会自动为每一个输出表生成一个节点输出名
  2. 逻辑表任务的输出名就是逻辑表名
  3. 集成任务的输出名在早期版本需要用户人工填写,后期的版本自动解析为每一个输出表生成一个节点输出名
  4. shell/python/mr 等任务的节点输出名需要用户人工填写

存在以下问题:

  1. 系统自动生成的节点输出名可以被人工编辑修改,存在误操作风险
  2. 输出名的格式有严格的要求,必须是 {生产项目名.表名称},用户人工填写时,容易错误输入

以上问题导致节点输出名的准确度和覆盖度都不如资产血缘,因此 v3.10 自动解析升级后,切换到了后者。

相关文章
|
7月前
|
SQL 人工智能 分布式计算
Dataphin常见问题之发布报错如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
4月前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之怎么配置每天只导入10条数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之设置任务监控的步骤是什么
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
数据采集 SQL DataWorks
DataWorks产品使用合集之如何导出生产环境所有的任务名
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
数据采集 分布式计算 DataWorks
DataWorks产品使用合集之任务工作流中遇到了日志信息显示参数值没有正确解析的问题,该如何处理
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之如何自定义监控规则
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
SQL DataWorks 安全
DataWorks产品使用合集之如何实现在参数里面配置获取运行的时间
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
分布式计算 资源调度 DataWorks
DataWorks操作报错合集之点击校验时出现报错,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
数据采集 DataWorks 监控
DataWorks产品使用合集之调度配置中的自定义参数如何设置季度初和周初
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之如何实现MySQL数据库的自动分区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。