一种数据血缘解析方法及系统技术方案

技术编号:39720551 阅读:7 留言:0更新日期:2023-12-17 23:26
本发明专利技术提供了一种数据血缘解析方法及系统,其用于解析任务实例的数据血缘信息,包括:监控所述任务实例的状态,并根据所述任务实例的参数选择相应的解析方法;所述参数至少包括任务实例的类型;使用所述解析方法解析所述任务实例以获得输入表

【技术实现步骤摘要】
一种数据血缘解析方法及系统


[0001]本专利技术涉及数据处理领域,尤其涉及一种数据血缘解析方法及系统


技术介绍

[0002]智能化的时代对于数据处理的需求与日俱增,对数据的精准追踪溯源可以有效的提升大数据系统中数据问题的定位同时提高数据质量

数据血缘技术是一种追踪和记录数据在整个数据生命周期中的流动和变化的方法

目前常用的产生数据血缘的方法有以下几种:
[0003]1.
手动输入数据血缘:由数据的开发人员编写文档以记录数据表之间的血缘关系

转换逻辑等信息,通过拖放操作和表格输入等方式手动创建和管理数据实体及其血缘关系

这种方法依赖于人工操作,容易出现错误和遗漏,并且难以维护和更新

[0004]2.
利用数据仓库的日志和审计功能:某些数据仓库和数据库管理系统
(

Snowflake、Redshift、MySQL

)
提供了日志和审计功能,可以记录数据操作和变更历史,也可以通过编写脚本或工具来分析这些日志和审计记录,提取数据血缘信息

然而,这种方法仅限于支持日志和审计功能的特定系统,兼容性有限

[0005]3.
解析
SQL
产生数据血缘:通过分析数据处理任务中的
SQL
语句,自动提取和产生数据血缘信息

这种方法可以通过解析/>SQL
语句中的表名

字段名

连接操作等来推断数据之间的血缘关系

但是,它依赖于正确的
SQL
语句和准确的表和字段命名规范,并且无法适用于其他类型的任务或开发语言

[0006]4.
使用数据探查工具:数据探查工具
(

Trifacta、DataRobot

)
可以自助分析数据集的统计信息

分布

关联等特性,并推断出它们的血缘关系

这些工具可以自动化地探索和推断数据血缘,减少了手动输入和解析的工作量

然而,这些工具可能与特定的开发语言或数据仓库有兼容性问题,并且与调度系统不打通,无法利用血缘信息来控制任务调度

[0007]可见,上述现有的技术方案存在一些固有的缺点,例如:
[0008]1.
自动化程度低,难以维护:手动输入血缘信息或依赖于日志分析的方法需要人工操作或脚本编写,维护和更新血缘信息较为困难

[0009]2.
只针对特定开发语言或数据仓库,兼容性差:某些方法只适用于特定的开发语言或数据仓库,对其他系统的兼容性有限

[0010]3.
和调度系统不打通,无法用血缘信息控制任务调度:现有的技术方案在血缘信息与任务调度系统之间缺乏紧密的集成,无法通过血缘信息来控制任务的调度和执行

[0011]因此,如何针对上述数据血缘技术的缺点,提供一种适应性强且准确的数据血缘解析的方法,是本领域亟待解决的问题


技术实现思路

[0012]本专利技术提供一种数据血缘解析方法及系统,其目的在于提升数据血缘技术的兼容性,使其具有更大范围的适用性和更好的数据处理精度

[0013]为了实现上述目的,本专利技术采用的一种技术方案是:一种数据血缘解析方法,所述方法用于解析任务实例的数据血缘信息,包括:监控所述任务实例的状态,并根据所述任务实例的参数选择相应的解析方法;所述参数至少包括任务实例的类型;使用所述解析方法解析所述任务实例以获得输入表
/
输出表;根据所述输入表
/
输出表构建数据血缘信息

[0014]在一个优选实施例中,所述解析方法至少包括针对基于非数据库管理和操作语言的任务实例的第一解析方法;所述数据库管理和操作语言至少包括
SQL
类语言

[0015]在一个优选实施例中,所述第一解析方法包括:根据所述任务实例的状态生成逻辑执行计划树;遍历所述逻辑执行计划树并寻找第一相关节点,根据所述第一相关节点生成所述输入表
/
输出表

[0016]在一个优选实施例中,所述解析方法至少包括针对基于所述数据库管理和操作语言的任务实例的第二解析方法

[0017]在一个优选实施例中,所述第二解析方法包括:构建语言解析器;使用所述语言解析器将所述任务实例解析成为抽象语法树
(AST)
;遍历所述抽象语法树
(AST)
并寻找第二相关节点,根据所述第二相关节点生成所述输入表
/
输出表

[0018]在一个优选实施例中,所述解析方法包括针对日志的任务实例的第三解析方法,所述第三解析方法包括:调用底层计算引擎,查询并解析所述任务实例的执行信息;根据所述执行信息生成所述输入表
/
输出表

[0019]在一个优选实施例中,所述根据所述输入表
/
输出表构建数据血缘信息包括:通过关系型数据库和
/
或图数据库存储数据血缘信息

[0020]为了实现上述目的,本专利技术采用的另一种技术方案是:一种数据血缘解析系统,所述数据血缘解析系统用于执行上述任一项所述方法;其中,所述数据血缘解析系统根据所述任务实例的类型选择相应的解析方法,所述相应的解析方法被各自独立地设计为血缘解析插件的形式

[0021]为了实现上述目的,本专利技术采用的另一种技术方案是:一种利用上述任一项所述方法或利用上述的数据血缘解析系统的调度系统,所述调度系统使用所述方法或所述数据血缘解析系统解析所述任务实例的数据血缘信息

[0022]在一个优选实施例中,当所述任务实例的依赖规则包括基于数据的依赖时,所述调度系统根据所述数据血缘信息解析所述任务实例的依赖规则

[0023]与现有技术相比,本专利技术的优点在于:
(1)
本专利技术通过任务分类并相应制定解析策略,可以轻松支持多种数据开发语言和多种数据源;
(2)
本专利技术可以针对基于非数据库管理和操作语言的任务进行解析,突破了任务类型的限制;
(3)
本专利技术能够实现列级别的血缘解析,提高了数据处理任务执行的准确性;
(4)
本专利技术将血缘解析与调度系统紧密结合,实现了自动化地构建出整个数据仓库的完整血缘关系;
(5)
相比于仅仅展示数据血缘关系的结果,血缘解析与调度系统的结合可以高效地将数据血缘关系应用至大数据平台的各种不同场景,从而改善数据开发

附图说明本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种数据血缘解析方法,其特征在于,所述方法用于解析任务实例的数据血缘信息,包括:监控所述任务实例的状态,并根据所述任务实例的参数选择相应的解析方法;所述参数至少包括任务实例的类型;使用所述解析方法解析所述任务实例以获得输入表
/
输出表;根据所述输入表
/
输出表构建数据血缘信息
。2.
根据权利要求1所述的方法,其特征在于,所述解析方法至少包括针对基于非数据库管理和操作语言的任务实例的第一解析方法;所述数据库管理和操作语言至少包括
SQL
类语言
。3.
根据权利要求2所述的方法,其特征在于,所述第一解析方法包括:根据所述任务实例的状态生成逻辑执行计划树;遍历所述逻辑执行计划树并寻找第一相关节点,根据所述第一相关节点生成所述输入表
/
输出表
。4.
根据权利要求1‑3任一项所述的方法,其特征在于,所述解析方法至少包括针对基于所述数据库管理和操作语言的任务实例的第二解析方法
。5.
根据权利要求4所述的方法,其特征在于,所述第二解析方法包括:构建语言解析器;使用所述语言解析器将所述任务实例解析成为抽象语法树
(AST)
;遍历所述抽象语法树
(AST)
并寻找第二相关节...

【专利技术属性】
技术研发人员:丁晔韦祎徳张新伟
申请(专利权)人:颖投信息科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1