细说Dataphin自动解析

简介: 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 自动解析升级后,切换到了后者。

相关文章
|
数据采集 运维 Java
有了 Dataphin v4.0,跨系统调度依赖再也不是难题
Dataphin v4.0引入了新的触发式节点,用于解决多数据平台间的调度问题。当上游系统(如Unix的crontab)完成数据采集后,可通过触发式节点通知Dataphin开始拉取数据,避免传统轮询方式的效率低和资源占用。触发式节点需满足Dataphin OpenAPI开通和网络连通条件,并通过SDK进行外部触发。示例展示了如何创建和使用触发式节点,以及使用Java SDK模拟触发请求。
1044 0
|
SQL 存储 分布式计算
MaxCompute元数据使用实践--项目信息统计
MaxCompute的租户级别Information Schema从租户角度提供项目元数据及使用历史数据等信息,您可以一次性拉取您同一个元数据中心下所有Project的某类元数据,从而进行各类元数据的统计分析。
1644 2
|
数据采集 监控 搜索推荐
质量规则支持自定义属性,规则管理更便捷
随着企业数据治理开展到一定阶段,对质量监控规则的精细化管理诉求进一步提升,需要为质量规则配置更多属性信息以支持后续的统计的分析。Dataphin V4.0版本新增了自定义质量规则属性的能力,通过简单的配置即可实现灵活、高效的规则管理,满足多样化诉求。
791 0
|
运维 安全 关系型数据库
【产品升级】Dataphin V5.1版本发布:跨云数据集成、指标管理、平台运维带来重大更新!
V5.1版本新增多项功能:对接AWS生态(支持Amazon EMR、Redshift等),强化研发技术支撑(如API认证升级、全量任务隔离),完善运营消费链路(新增业务指标管理、指标关系图),提升平台综合能力(自定义菜单、缩短升级停机时间)。这些功能助力企业实现高效数据治理与分析,未来还将拓展智能化与国际化支持。
830 0
|
12月前
|
SQL 数据可视化 大数据
Dataphin数据血缘:实现全面追溯,保障流转透明
数据血缘揭示数据从源头到应用的全链路流转关系,助力企业厘清数据来源、影响范围与质量问题根源。Dataphin通过自动采集、手动配置和OpenAPI注册三类方式构建全面的数据血缘,支持可视化展示与用于质量问题溯源,实现数据可查、可信、可管,推动高质量数据治理。
1253 1
|
应用服务中间件 网络安全 网络虚拟化
Dataphin公共云多租户数据源上云网络方案
通过Dataphin公共云多租户的方式,可以实现零部署成本、零运维成本构建智能大数据研发与治理平台。Dataphin部署在阿里云上,已有的数据源部署在本地机房,因此数据上云第一步,首先要打通网络。本文将介绍本地IDC机房的数据源网络打通的不同方案。
1034 0
|
SQL Oracle 关系型数据库
一文入门Dataphin实时集成
Dataphin实时集成的读取和写入原理是什么?Dataphin实时集成和实时研发的区别是什么?Dataphin实时集成有哪些优势?本文一次讲清
804 1
|
数据采集 搜索推荐
标准审批灵活配置助力高效组织流程管理
Dataphin 在 V3.14 版本中对标准审批设置功能进行了全面升级,支持按照标准集粒度对不同数据标准的审批流程进行配置:上线、下线审批可独立配置,支持免审批;此外,Dataphin 支持设置不同模块的审批流程使用的审批系统(内置或第三方审批系统),从而将标准管理流程和且 OA 流程进行更好的结合,助力提升组织流程的管理效率,推动业务发展。
671 1
|
Shell 网络安全 Python
妙用Dataphin的Python三方包管理
Dataphin 中的 Python 计算任务不随意增加内置 module 是为了避免安装包过大和升级时间延长。用户可通过执行 "pip list" 或 "pip3 list" 查看内置 module 列表。 Dataphin 的 Python 环境在镜像中固定,无法用户直接修改,但 v3.14 版本起支持在线安装或上传安装三方包,预安装后在任务中显式引入。对于依赖操作系统库的 module,用户需上传包含相应程序的自定义安装包进行预安装。此外,此功能也可扩展用于管理 shell 任务所需的系统程序。
700 0
|
数据采集 监控 数据管理
数据质量最佳实践(5):利用质量分和排行榜提升企业数据质量【Dataphin V3.12】
在数据质量最佳实践(3):通过质量治理工作台,实现质量问题的跟踪和处理这篇文章中,我们详细的介绍了如何通过治理工作台,对系统出现的一个一个具体质量问题进行治理。 但是对于企业整体的数据质量情况,我们该如何评估呢?以及如何寻找当前企业的数据质量短板,并有针对性的进行改进和提升呢? 在Dataphin V3.12版本中,质量新增了质量分的能力,可以给数据表和质量规则配置打分权重和打分方式,从而获得全局、数据源、项目、负责人、数据表等维度的质量打分评估,帮助CDO判断企业整体的数据质量情况和数据质量问题的分布,从而有针对性的提升企业整体的数据质量水平。
1627 1