CN109582660A - 数据血缘分析方法、装置、设备、系统及可读存储介质 - Google Patents
数据血缘分析方法、装置、设备、系统及可读存储介质 Download PDFInfo
- Publication number
- CN109582660A CN109582660A CN201811492829.2A CN201811492829A CN109582660A CN 109582660 A CN109582660 A CN 109582660A CN 201811492829 A CN201811492829 A CN 201811492829A CN 109582660 A CN109582660 A CN 109582660A
- Authority
- CN
- China
- Prior art keywords
- data
- blood relationship
- relationship data
- consanguinity analysis
- digraph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种数据血缘分析方法、装置、设备、系统及可读存储介质,该方法包括步骤:当数据系统执行SQL语句时,通过Hook获取与SQL语句对应的血缘数据;通过流式分析系统确定血缘数据所在数据表的数据表类型,根据数据表类型和血缘数据,构建血缘数据对应的有向图;将有向图存储至HBase中,并将血缘数据存储至HDFS中。本发明实现了通过Hook获取不同类型数据系统的血缘数据,使数据血缘分析方法适配不用类型的数据系统,且通过分析血缘数据所在数据表的数据表类型和关联信息,得到血缘关系对应的有向图,避免使用SQL脚本解析来得到数据的血缘关系,降低了分析数据血缘关系的复杂度,提高了数据血缘分析方法的扩展性。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种数据血缘分析方法、装置、设备、系统及可读存储介质。
背景技术
数据血缘分析是元数据管理和数据治理工具的核心功能,通过建立数据之间的血缘关系,可以分析上游数据发生变化是否影响下游关联的数据;如果在元数据上建立技术元数据和业务元数据的关系,通过血缘可以分析不同业务产品之间的数据流动,分析不同产品之间的业务关联;通过分析数据血缘可以更好的理解数据和使用数据。目前石竹的MetaOne已经支持数据血缘分析,MetaOne通过对SQL(Structured Query Language,结构化查询语言)脚本进行解析构建数据的血缘链路,根据通用的SQL语法标准将SQL操作分解成特定的几种操作类型,然后将SQL语句模块分解,从而得到一条SQL的输入数据和输出数据,这样输入数据和输出就建立了直接的血缘关系。
由于MetaOn只能适配通用的SQL语法标准,导致MetaOn不能适配不同类型数据系统之间数据的血缘分析,如开源的数据仓库工具Hive和SQL引擎Spark-SQL的语句有各自的语法特性,因此MetaOn不能分析出Hive和SQL引擎Spark-SQL对应数据的血缘关系;且使用SQL脚本解析来得到数据的血缘关系,需要设计较复杂的解析规则,扩展性不够友好。
发明内容
本发明的主要目的在于提供一种数据血缘分析方法、装置、设备、系统及可读存储介质,旨在解决现有的数据血缘分析方法不能适配不同类型数据系统,且扩展性不友好的技术问题。
为实现上述目的,本发明提供一种数据血缘分析方法,所述数据血缘分析方法包括步骤:
当数据系统执行结构化查询语言SQL语句时,通过钩子Hook获取与所述SQL语句对应的血缘数据并传输至流式分析系统;
通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
此外,为实现上述目的,本发明还提供一种数据血缘分析方法,所述数据血缘分析方法应用于数据系统,所述数据血缘分析方法包括以下步骤:
数据系统执行结构化查询语言SQL语句,并通过钩子Hook获取与所述SQL语句对应的血缘数据;
将所述血缘数据发送给流式分析系统,以供所述流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图,将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
此外,为实现上述目的,本发明还提供一种数据血缘分析方法,所述数据血缘分析方法应用于流式分析系统,所述数据血缘分析方法包括以下步骤:
当流式分析系统接收到数据系统通过钩子Hook发送的与所述结构化查询语言SQL语句对应的血缘数据后,确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
此外,为实现上述目的,本发明还提供一种数据血缘分析装置,所述数据血缘分析装置应用于数据系统,所述数据血缘分析装置包括:
执行模块,用于执行结构化查询语言SQL语句;
获取模块,用于通过钩子Hook获取与所述SQL语句对应的血缘数据;
发送模块,用于将所述血缘数据发送给流式分析系统,以供所述流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图,将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
此外,为实现上述目的,本发明还提供一种数据血缘分析装置,所述数据血缘分析装置应用于流式分析系统,所述数据血缘分析装置包括:
确定模块,用于当接收到数据系统通过钩子Hook发送的与所述结构化查询语言SQL语句对应的血缘数据后,确定所述血缘数据所在数据表的数据表类型;
构建模块,用于根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
存储模块,用于将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
此外,为实现上述目的,本发明还提供一种数据血缘分析设备,所述数据血缘分析设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据血缘分析程序,所述数据血缘分析程序被所述处理器执行时实现如上所述的数据血缘分析方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据血缘分析程序,所述数据血缘分析程序被处理器执行时实现如上所述的数据血缘分析方法的步骤。
此外,为实现上述目的,本发明还提供一种数据血缘分析系统,所述数据血缘分析系统包括数据系统、流式分析系统和分布式文件系统HDFS中;
所述数据系统用于当执行结构化查询语言SQL语句时,通过钩子Hook获取与所述SQL语句对应的血缘数据并传输至流式分析系统;
所述流式分析系统用于通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;将所述有向图存储至HBase中,并将所述血缘数据存储至HDFS中。
本发明通过在数据系统执行SQL语句时,通过Hook获取与SQL语句对应的血缘数据;通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据数据表类型和血缘数据中的关联信息,构建血缘数据对应的有向图,将有向图存储至HBase中,以及将血缘数据存储至HDFS中。实现了通过Hook获取不同类型数据系统的血缘数据,使数据血缘分析方法适配不用类型的数据系统,且通过分析血缘数据所在数据表的数据表类型和关联信息,得到血缘关系对应的有向图,避免使用SQL脚本解析来得到数据的血缘关系,降低了分析数据血缘关系的复杂度,提高了数据血缘分析方法的扩展性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2是本发明数据血缘分析方法第一实施例的流程示意图;
图3是本发明实施例中数据表与数据表之间有向图的一种示意图;
图4是本发明实施例中数据表与工作任务之间有向图的一种示意图;
图5是本发明数据血缘分析方法第二实施例的流程示意图;
图6是本发明数据血缘分析方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为数据血缘分析设备的硬件运行环境的结构示意图。本发明实施例数据血缘分析设备可以是PC,便携计算机等终端设备。
如图1所示,该数据血缘分析设备可以包括:处理器1001,例如CPU,网络接口1004,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的数据血缘分析设备结构并不构成对数据血缘分析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据血缘分析程序。其中,操作系统是管理和控制数据血缘分析设备硬件和软件资源的程序,支持数据血缘分析程序以及其它软件或程序的运行。
在图1所示的数据血缘分析设备中,当数据血缘分析设备为数据系统时,网络接口1004主要用于连接流式分析系统,与流式分析系统进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据血缘分析程序,并执行以下以数据系统为执行主体的数据血缘分析方法的操作。
此外,在图1所示的数据血缘分析设备中,当数据血缘分析设备为流式分析系统时,网络接口1004主要用于连接数据系统,与数据系统进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据血缘分析程序,并执行以下以流式分析系统为执行主体的数据血缘分析方法的操作。
基于上述的结构,提出数据血缘分析方法的各个实施例。
参照图2,图2为本发明数据血缘分析方法第一实施例的流程示意图。
本发明实施例提供了数据血缘分析方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先,对本发明实施例所需要用到的专业名词进行解释。
①Hadoop:是一个能够对大量数据进行分布式处理的软件框架。Hadoop包括Common,HDFS(Hadoop Distributed File System,分布式文件系统),YARN(Yet AnotherResource Negotiator,另一种资源协调者)和MapReduce四个模块,其中,Common:是可支持其他模块的公共工具;HDFS是用于提供高吞吐访问性能的分布式文件系统;YARN是提供作业调度和集群资源管理的框架;MapReduce是数据并行计算框架,简称MR。
②Hive:是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。Hive对数据仓库的管理包括两方面:一是元数据的管理,二是数据的管理:
③元数据:Hive将元数据存储在关系型数据库中,如存储至关系型数据库管理系统MySQL中。Hive中的元数据包括表的名字、表的列和分区及其属性、表的属性(是否为外部表等)和表的数据所在HDFS存储目录等;
④数据:Hive的数据存储在HDFS中,大部分的查询由MapReduce任务计算完成。
⑤Sqoop:一种开源数据传输工具,主要用于在Hadoop(Hive)与传统的数据库间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。其中,关系型数据库包括但不限于MySQL,Oracle和Postgres。
⑥Graph Database:图数据库也可称为面向/基于图的数据库。图数据库的基本含义是以“图”这种数据结构存储和查询数据,不是存储图片的数据库。图数据库的基本存储单元为:节点、关系、属性。
⑦Elasticsearch:简称ES,是基于Lucene(全文搜索引擎)的搜索引擎,它提供了一个分布式,支持多租户的全文搜索引擎,它具有HTTP(HyperTextTransfer Protocol,超文本传输协议)Web界面和无模式JSON(JavaScriptObject Notation,JavaScript对象简谱)文档。
⑧Kafka:是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
⑨OLTP:也叫联机事务处理(Online Transaction Processing),表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。
⑩OLAP:也叫联机分析处理(Online Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是我们说的数据仓库。
数据血缘分析方法包括:
步骤S10,当数据系统执行结构化查询语言SQL语句时,通过钩子Hook获取与所述SQL语句对应的血缘数据并传输至流式分析系统。
在本发明实施例中,数据血缘分析是对元数据进行血缘分析,使用了适配大数据平台数据库仓库工具和SQL执行引擎的钩子(Hook)来获取SQL语句对应的血缘数据。在各个执行SQL语句的数据系统中,设置有接入Hook的接口,当各个数据系统执行SQL语句时,通过该接口接入数据系统中的Hook即可获取到SQL语句对应的血缘数据,即这些Hook可以实时获取各个数据系统中元数据信息的变化。在本发明实施例中,Hook为Lineage Hook(血统钩子),Hook是通过读取数据系统的接口,通过接口分析流程以获取流程数据并整合后得到,即使对接不同的数据系统,也可以得到对应的Hook,实现Hook适配不同系统。可以理解的是,当数据系统每执行一条SQL语句时,数据系统中的元数据信息会发生变化,此时,通过Hook即可获取与SQL语句对应的血缘数据,其中,SQL语句对应的血缘数据包括但不限于SQL语句的输入数据、输出数据和关联信息。关联信息包括但不限于该SQL语句的执行时间开始时间、执行时长、执行对象、提交该SQL语句对应用户的用户名、SQL语句对应任务的任务名称和SQL语句的编码。需要说明的是,每一条SQL语句都存在一个唯一的编码。
进一步地,步骤S10包括:
步骤a,当数据系统执行SQL语句时,确定执行所述SQL语句的执行对象。
当数据系统执行SQL语句时,确定执行SQL语句的执行对象。具体地,若数据系统是通过Hive执行的SQL语句,则可确定执行对象为Hive;若数据系统是通过Spark-SQL执行的SQL语句,则可确定执行对象为Spark-SQL;若数据系统是通过Sqoop执行的SQL语句,则可确定执行对象为Sqoop。数据系统具体通过何种执行对象执行SQL语句,可根据数据系统的属性来确定,数据系统对应的执行对象是预先设置好的。
步骤b,若所述执行对象为Hive或者Spark-SQL,则调用所述执行对象的执行行为分析对应的应用程序编程接口API,以得到对应所述SQL语句的输入数据、输出数据和关联信息。
若确定执行SQL语句的执行对象为Hive,则通过Hive Lineage Hook异步捕获Hive执行的SQL语句,调用Hive的执行行为,分析执行行为对应的API(ApplicationProgramming Interface,应用程序编程接口),得到SQL的输入数据信息、输出数据信息和关联信息。若确定执行SQL语句的执行对象为Spark-SQL,则通过Spark-SQL Lineage Hook异步捕获Spark-SQL执行的SQL语句,调用Spark-SQL的执行行为,分析该执行行为对应的API得到SQL的输入数据信息、输出数据信息和关联信息。
步骤c,若所述执行对象为Sqoop,则获取所述Sqoop的执行命令对应的执行参数,根据所述执行参数得到所述SQL语句的输入数据、输出数据和关联信息。
若确定执行SQL语句的执行对象为Sqoop,则通过异步的方式捕获Sqoop的执行命令,分析Sqoop执行命令的执行参数,根据该执行参数得到SQL语句的输入数据、输出数据和关联信息。其中,Sqoop执行命令的执行参数可为Sqoop的公用参数,如import、export和hive等。需要说明的是,Hive和Spark-SQL对应的Lineage Hook可用来获取大数据平台内部的血缘数据,Sqoop Lineage Hook可用来捕获大数据平台和/或传统关系型数据库对应的血缘数据,本实施例中,通过Hive和Spark-SQL对应的Lineage Hook和SqoopLineage Hook以适配大数据平台和传统关系型数据库,实现了Hook能适配不同类型的数据系统。
进一步地,数据血缘分析方法还包括:
步骤d,将通过所述Hook获取的血缘数据封装成数据消息发送给Kafka,通过所述Kafka将数据消息发送给流式分析系统,以使所述流式分析系统通过所述数据消息确定所述血缘数据所在数据表的数据表类型。
进一步地,将通过Hook获取到血缘数据后,将通过Hook获取到血缘数据封装成数据消息,并将封装所得的数据消息发送给Kafka,通过Kafka将数据消息发送给流式分析系统,以使流式分析系统在而接收到数据消息后,在数据消息中获取对应的血缘数据,确定血缘数据所在数据表的数据表类型和对应的关联信息。在本发明实施例中,一条SQL语句对应一条数据消息。具体地,可将血缘数据封装成JSON格式,此时,JSON格式的血缘数据即为数据消息。需要说明的是,将Hook获取的血缘数据封装成数据消息是为了便于流式分析系统读取血缘数据,确定血缘数据所在数据表的数据表类型。
步骤S20,通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图。
当流式分析系统获取到血缘数据后,确定血缘数据所在数据表的数据表类型。其中,数据表类型包括但不限于目标表和源表。当确定血缘数据所在数据表的数据表类型后,流式分析系统调用预设的图数据库引擎,根据数据表类型和血缘数据,构建血缘数据对应的有向图。需要说明的是,有向图可为数据表之间的有向图,也可为数据表和对应任务之间的有向图。通过该数据表,可获知该数据表中所存储各个数据字段。
进一步地,步骤S20包括:
步骤e,通过所述流式分析系统确定所述SQL语句对应血缘数据中的输入数据所在的数据表为源表,输出数据所在的数据表为目标表。
具体地,当流式分析系统获取到血缘数据后,流式分析系统调用预设的图数据库引擎,确定SQL语句对应血缘数据中的输入数据和输出数据,通过输入数据与对应数据表之间的索引,确定输入数据所在的数据表,将输入数据所在的数据表确定为源表;以及通过输出数据与对应数据表之间的索引,确定输出数据所在的数据表,将输出数据所在的数据表确定为目标表。需要说明的是,本发明实施例中的源表和目标表是针对同一条SQL语句而言的,即每条SQL语句都存在对应的源表和目标表。需要说明的是,数据与其所在的数据表是存在索引关系的,因此,当确定一个数据后,通过该数据的索引,即可确定该数据所在的数据表。如可用索引标识来表示数据与其所在数据表之间的索引关系,当获取到一个数据后,获取该数据对应的索引标识,根据该索引标识可可确定该数据所在的数据表。
步骤f,将所述源表对应的表名称作为起始节点,所述目标表的表名称作为终止节点,并根据所述血缘数据中的关联信息确定所述起始节点和所述终止节点之间的第一描述信息。
步骤g,根据所述起始节点、终止节点和所述第一描述信息构建所述血缘数据对应的数据表之间的有向图。
当流式分析系统确定每条SQL语句对应的源表和目标表之后,流式分析系统获取每条SQL语句对应的源表和目标表对应表名称,将源表的表名称作为有向图的起始节点,将目标表的表名称作为有向图的终止节点,并根据血缘数据中的关联信息确定起始节点和终止节点之间的描述信息。在本发明实施例中,将起始节点和终止节点之间的描述信息记为第一描述信息。当确定起始节点、终止节点和第一描述信息后,流式分析系统根据该起始节点、终止节点和第一描述信息构建血缘数据对应数据表之间的有向图,可以理解的是,在血缘数据对应数据表与数据表的有向图中,起始节点为连接线的起点,终止节点为连接线的终点,在连接线的终点中,用箭头表示,即连接线表示从起点指向终点,第一描述信息写在连接线上。某条SQL语句对应的终止节点可为另一条SQL对应的起始节点,某条SQL语句对应的起始节点可为另一条SQL对应的终止节点。
具体地,参照图3,在图3中,table1,table2,table3┄tableN为表名称,相对于table4而言,table1,table2和table3为源表,table4为目标表;相对于tableN而言,table4为源表,tableN为目标表,每两个表之间都存在第一描述信息,都为“type:Hive writeTo”,表示对应的SQL语句是通过Hive来执行。如在table1和4之间时,“type:Hive writeTo”表示对应的SQL语句是通过Hive来执行,且对应的输入数据所在的数据表为table1,通过Hive执行SQL语句后,对应的输出数据所在的数据表为table4。可以理解的是,目标表中存储的字段数据可以从源表中继承过来。通过多条SQL语句,可构建较为复杂有向图,如在图3中,可对应4条SQL语句。需要说明的是,第一描述信息也可以包括对应的执行时长和SQL语句的编码等。
进一步地,步骤f之后,还包括:
步骤h,通过所述血缘数据中的关联信息获取与所述输入数据对应工作任务的任务名称。
在获取得到起始节点、终止节点和第一描述信息后,流式分析系统获取血缘数据中的关联信息,在关联信息获取输入数据对应工作任务的任务名称。需要说明的是,每一个工作任务都存在唯一一个的任务名称,一个工作任务可对应一个或者多个SQL语句。
步骤i,将所述任务名称确定为工作任务节点,并确定所述工作任务节点分别与所述起始节点和所述终止节点之间的第二描述信息。
步骤j,根据所述起始节点、终止节点、工作任务节点、第一描述信息和所述第二描述信息构建所述血缘数据对应数据表与工作任务之间的有向图。
流式分析系统将任务名称确定为工作任务节点,并确定工作任务节点分别与起始节点和终止节点之间的第二描述信息。在流式分析系统确定工作任务节点和第二描述信息后,流式分析系统根据起始节点、终止节点、工作任务节点、第一描述信息和第二描述信息构建血缘数据对应数据表与工作任务之间的有向图。需要说明的是,数据表与工作任务之间的有向图是在数据表与数据表之间的有向图中添加了工作任务节点。第二描述信息为描述两个表之间对应的工作任务关系。在有向图中,工作任务节点与起始节点和终止节点之间也是通过连接线连接,连接线的起点在工作任务节点中,终点在对应的起始节点和终止节点中,在该连接线的终点也存在箭头,以表明数据的流向。
具体地,参照图4,在图4中,job1,job2和job3表示任务名称,任务节点与起始节点和终止节点之间的第二描述信息可为“type:Hive src table”和“type:Hive dst table”,“type:Hive src table”表明在通过Hive执行对应任务时,从该数据表(源表)中获取数据;“type:Hive dst table”表明在通过Hive执行对应任务时,将所得的数据,即输出数据存储至对应数据表(目标表)中。如通过Hive执行job1任务时,从table1中获取job1任务对应的输入数据,将执行job1任务后,所得的输出数据存储至table4中。
需要说明的是,数据表与数据表之间的有向图强调数据本身的关联性,数据表与工作任务之间的有向图强调数据转换的关联性。可以理解的是,由于数据表中存储了数据,因此通过数据表对应的有向图,即可确定数据表对应数据的血缘关系。
步骤S30,将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
当流式分析系统得到有向图后,将有向图存储至HBase中,并根据数据表类型和血缘数据中的关联信息将血缘数据存储至HDFS中。具体地,将每条SQL语句对应的血缘数据按照源表、目标表和关联信息存储至HDFS中,如将每条SQL语句对应的血缘数据按照srctable[源表],dst table[目标表],extral_info[关联信息]存储至HDFS中。
需要说明的是,由于通过Hook可获取不同数据系统的血缘数据,因此本发明实施例也可分析出不同类型数据系统之间数据的血缘关系。
本实施例通过在数据系统执行SQL语句时,通过Hook获取与SQL语句对应的血缘数据;通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据数据表类型和血缘数据中的关联信息,构建血缘数据对应的有向图,将有向图存储至HBase中,以及将血缘数据存储至HDFS中。实现了通过Hook获取不同类型数据系统的血缘数据,使数据血缘分析方法适配不用类型的数据系统,且通过分析血缘数据所在数据表的数据表类型和关联信息,得到血缘关系对应的有向图,避免使用SQL脚本解析来得到数据的血缘关系,降低了分析数据血缘关系的复杂度,提高了数据血缘分析方法的扩展性。
进一步地,提出本发明数据血缘分析方法第二实施例。
所述数据血缘分析方法第二实施例与所述数据血缘分析方法第一实施例的区别在于,参照图5,数据血缘分析方法还包括:
步骤S40,当通过联机事物处理OLTP接口接收到血缘数据的查询指令后,通过图数据引擎的服务端解析所述查询指令对应的图数据库查询语句,获取所述图数据库查询语句对应的数据表名称。
当通过流式分析系统得到有向图后,数据地图通过OLTP接口接收血缘数据的查询指令,通过图数据引擎的服务端解析查询指令对应的图数据库查询语句,获取图数据库查询语句对应的数据表名称。需要说明的是,在图数据库查询语句中,携带有对应的数据表名称。
在本发明实施例中,OLTP使用图数据库引擎提供的接口查询数据,中间利用图数据库的查询优化器和Eleasticsearch提供的外部索引服务加速查询,查询延迟可以控制在毫秒级;由于原始的血缘数据通过加工之后推送到HBase存储,即有向图是存储到HBase中,因此可在HBase中实时查询血缘数据。数据地图使用通用的图数据库查询语言查询构建好的图形结构数据,即查询有向图对应的血缘数据。需要说明的是,OLTP接口是类似于JDBC(Java Data Base Connectivity,java数据库连接)接口。
步骤S50,根据所述数据表名称在所述HBase中获取与所述数据表名称对应的目标节点,在所述HBase中提取与所述目标节点对应的目标有向图,并将所述目标有向图返回给所述查询指令对应用户。
当数据地图获取到图数据库查询语句对应的数据表名称后,数据地图根据数据表名称在HBase中获取与数据表名称对应的节点,并将在HBase中获取的,与数据表名称对应的节点记为目标节点,在HBase中提取与目标节点对应的有向图,将与目标节点对应的有向图记为目标有向图,将目标有向图返回给查询指令对应用户。具体地,目标有向图可通过数据地图的web页面显示,以便于查询指令对应用户查看。需要说明的是,在HBase中提取与目标节点对应的有向图过程中,可只在HBase中提取与目标节点相关的有向图,如当目标节点为table2,则在数据表与数据表之间的有向图中提取到的目标有向图为table2和table4之间的有向图。
本实施例通过在OLTP接口接收到血缘数据的查询指令后,通过图数据引擎的服务端解析查询指令对应的图数据库查询语句,获取图数据库查询语句对应的数据表名称,根据数据表名称在HBase中获取与数据表名称对应的目标节点,在HBase中提取与目标节点对应的目标有向图,并将目标有向图返回给查询指令对应用户,以通过OLTP接口实现血缘数据的实时查询。
进一步地,提出本发明数据血缘分析方法第三实施例。
所述数据血缘分析方法第三实施例与所述数据血缘分析方法第一或第二实施例的区别在于,参照图6,数据血缘分析方法还包括:
步骤S60,当通过联机分析处理OLAP接口接收到血缘数据的查询指令后,获取所述查询指令对应的数据表名称。
步骤S70,通过Spark GraphX框架在所述HDFS中读取与所述数据表名称对应的数据。
当通过流式分析系统得到有向图后,数据地图可通过OLAP接口接收血缘数据的查询指令。当数据地图通过OLAP接口接收到血缘数据的查询指令后,数据地图获取查询指令对应的数据表名称,并通过Spark GraphX框架在HDFS中读取与数据表名称对应的数据。需要说明的是,由于通过OLAP接口接收到的查询指令是需要大批量的读取数据的指令,因此,本实施例不直接连接图数据库的底层的HBase,而是在HDFS中读取与数据表名称对应的数据。其中,在HDFS中,记录的是有向图每条连接线的起始节点和终止节点,即记录的是源表名称和目标表名称,通过源表名称和目标表名称,可在对应的源表和目标表中获取血缘数据。
需要说明的是,在通过OLAP接口在HDFS中读取与数据表名称对应的数据过程中,可批量分析查询指令对应逻辑,以获取全量的血缘数据,如获取某个产品关联的数据的所有下游使用表信息,首先要得到这个产品的直接关联数据,即获取到这个产品的源数据(这个产品的源数据即为SQL语句的输入数据),然后以这些源数据所在源表名称作为起始节点,递归获取直接关联的目标表名称,以获取到目标表中的数据,这样的批量操作场景通过利用大数据平台的分布式计算能力能高效的得到分析结果。如源数据所在数据表名称为table1,则通过Spark GraphX框架在HDFS中读取与数据表名称对应的数据为table4和table1N的数据。可以理解的是,在HDFS中,table4是table1的目标表,tableN是table4的目标表。
本实施例在通过OLAP接口接收到血缘数据的查询指令后,获取查询指令对应的数据表名称,通过Spark GraphX框架在所述HDFS中读取与数据表名称对应的数据,实现了血缘数据的批量查询。
进一步地,提出本发明数据血缘分析方法第四实施例。
所述数据血缘分析方法第四实施例与所述数据血缘分析方法第一、第二或第三实施例的区别在于,数据血缘分析方法还包括:
步骤k,当通过执行器接收到定时调度系统发送的血缘数据获取请求后,通过所述执行器获取所述血缘数据。
步骤l,确定所述执行器获取的所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据的关联信息,将所述血缘数据按照默认格式存储在Hive表中,其中,在所述Hive表中,一条SQL语句对应一条记录。
定时调度系统(Scheduler)通过预先设置好的定时任务触发血缘数据获取请求,并将数据获取请求发送给执行器(Executor)。当执行器接收到血缘数据获取请求后,执行器通过大数据并行计算框架(MapReduce)获取血缘数据,并确定所获取的血缘数据所在数据表的数据表类型,根据数据表类型和血缘数据的关联信息,将血缘数据按照默认格式存储在Hive表中,其中,在Hive表中,一条SQL语句对应一条记录,默认格式为按照src table[源表],dst table[目标表],extral_info[关联信息]存储至Hive表中。需要说明的是,由于Hive的数据存储在HDFS中,因此,将血缘数据存储至Hive表中即为将血缘数据存储至HDFS中,即将血缘数据按照默认格式存储在Hive表中的过程与将血缘数据存储至HDFS中的过程一致,在本实施例中不再详细赘述。
本实施例通过定时调度系统定时获取血缘数据存储至Hive表中,以便于定时更新HDFS中存储的血缘数据。
此外,本发明实施例还提出一种数据血缘分析方法,所述数据血缘分析方法应用于数据系统,应用于数据系统的所述数据血缘分析方法用于实现如上所述数据血缘分析方法中的数据系统执行的过程,在此不再详细赘述应用于数据系统的数据血缘分析方法的实施例。
此外,本发明实施例还提出一种数据血缘分析方法,所述数据血缘分析方法应用于流式分析系统,应用于流式分析系统的所述数据血缘分析方法用于实现如上所述数据血缘分析方法中的流式分析系统执行的过程,在此不再详细赘述应用于流式分析系统的数据血缘分析方法的实施例。
此外,本发明实施例还提出一种数据血缘分析装置,所述数据血缘分析装置应用于数据系统,所述数据血缘分析装置包括:
执行模块,用于执行结构化查询语言SQL语句;
获取模块,用于通过钩子Hook获取与所述SQL语句对应的血缘数据;
发送模块,用于将所述血缘数据发送给流式分析系统,以供所述流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图,将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
进一步地,所述获取模块包括:
确定单元,用于确定执行所述SQL语句的执行对象;
调用单元,若所述执行对象为Hive或者Spark-SQL,则调用所述执行对象的执行行为分析对应的应用程序编程接口API,以得到对应所述SQL语句的输入数据、输出数据和关联信息;
获取单元,用于若所述执行对象为Sqoop,则获取所述Sqoop的执行命令对应的执行参数,根据所述执行参数得到所述SQL语句的输入数据、输出数据和关联信息。
进一步地,所述数据血缘分析装置还包括:
封装模块,用于将通过所述Hook获取的血缘数据封装成数据消息发送给Kafka,以通过所述Kafka将数据消息发送给流式分析系统,以供所述流式分析系统通过所述数据消息确定所述血缘数据所在数据表的数据表类型。
本发明数据血缘分析装置具体实施方式与上述数据血缘分析方法中数据系统的各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种数据血缘分析装置,所述数据血缘分析装置应用于流式分析系统,所述数据血缘分析装置包括:
确定模块,用于当接收到数据系统通过钩子Hook发送的与所述结构化查询语言SQL语句对应的血缘数据后,确定所述血缘数据所在数据表的数据表类型;
构建模块,用于根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
存储模块,用于将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
进一步地,所述确定模块还用于确定所述SQL语句对应血缘数据中的输入数据所在的数据表为源表,输出数据所在的数据表为目标表;将所述源表对应的表名称作为起始节点,所述目标表的表名称作为终止节点,并根据所述血缘数据中的关联信息确定所述起始节点和所述终止节点之间的第一描述信息;
所述构建模块还用于根据所述起始节点、终止节点和所述第一描述信息构建所述血缘数据对应的数据表之间的有向图。
进一步地,所述获取模块还用于通过所述血缘数据中的关联信息获取与所述输入数据对应工作任务的任务名称;
所述确定模块还用于将所述任务名称确定为工作任务节点,并确定所述工作任务节点分别与所述起始节点和所述终止节点之间的第二描述信息;
所述构建模块还用于根据所述起始节点、终止节点、工作任务节点、第一描述信息和所述第二描述信息构建所述血缘数据对应数据表与工作任务之间的有向图。
本发明数据血缘分析装置具体实施方式与上述数据血缘分析方法中流式分析系统的各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据血缘分析程序,所述数据血缘分析程序被处理器执行时实现如上所述的以数据系统为执行主体的数据血缘分析方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据血缘分析方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据血缘分析程序,所述数据血缘分析程序被处理器执行时实现如上所述的以流式分析系统为执行主体的数据血缘分析方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据血缘分析方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种数据血缘分析系统,所述数据血缘分析系统包括数据系统、流式分析系统和分布式文件系统HDFS中;
所述数据系统用于当执行结构化查询语言SQL语句时,通过钩子Hook获取与所述SQL语句对应的血缘数据并传输至流式分析系统;
所述流式分析系统用于通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;将所述有向图存储至HBase中,并将所述血缘数据存储至HDFS中。
进一步地,所述数据血缘分析系统还包括联机事务处理OLTP接口;
所述OLTP接口用于当接收到血缘数据的查询指令后,通过图数据引擎的服务端解析所述查询指令对应的图数据库查询语句,获取所述图数据库查询语句对应的数据表名称;根据所述数据表名称在所述HBase中获取与所述数据表名称对应的目标节点,在所述HBase中提取与所述目标节点对应的目标有向图,并将所述目标有向图返回给所述查询指令对应用户。
进一步地,所述数据血缘分析系统还包括联机分析处理OLAP接口;
所述OLAP接口用于当通过OLAP接口接收到血缘数据的查询指令后,获取所述查询指令对应的数据表名称;
通过Spark GraphX框架在所述HDFS中读取与所述数据表名称对应的数据。
进一步地,所述数据血缘分析系统还包括执行器;
所述执行器用于当接收到定时调度系统发送的血缘数据获取请求后,通过所述执行器获取所述血缘数据;确定所获取的所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据的关联信息,将所述血缘数据按照默认格式存储在Hive表中,其中,在所述Hive表中,一条SQL语句对应一条记录。
本发明数据血缘分析系统具体实施方式与上述数据血缘分析方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (24)
1.一种数据血缘分析方法,其特征在于,所述数据血缘分析方法包括以下步骤:
当数据系统执行结构化查询语言SQL语句时,通过钩子Hook获取与所述SQL语句对应的血缘数据并传输至流式分析系统;
通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
2.如权利要求1所述的数据血缘分析方法,其特征在于,所述当数据系统执行SQL语句时,通过Hook获取与所述SQL语句对应的血缘数据的步骤包括:
当数据系统执行SQL语句时,确定执行所述SQL语句的执行对象;
若所述执行对象为Hive或者Spark-SQL,则调用所述执行对象的执行行为分析对应的应用程序编程接口API,以得到对应所述SQL语句的输入数据、输出数据和关联信息;
若所述执行对象为Sqoop,则获取所述Sqoop的执行命令对应的执行参数,根据所述执行参数得到所述SQL语句的输入数据、输出数据和关联信息。
3.如权利要求1所述的数据血缘分析方法,其特征在于,所述通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图的步骤包括:
通过所述流式分析系统确定所述SQL语句对应血缘数据中的输入数据所在的数据表为源表,输出数据所在的数据表为目标表;
将所述源表对应的表名称作为起始节点,所述目标表的表名称作为终止节点,并根据所述血缘数据中的关联信息确定所述起始节点和所述终止节点之间的第一描述信息;
根据所述起始节点、终止节点和所述第一描述信息构建所述血缘数据对应的数据表之间的有向图。
4.如权利要求3所述的数据血缘分析方法,其特征在于,所述将所述源表对应的表名称作为起始节点,所述目标表的表名称作为终止节点,并根据所述血缘数据中的关联信息确定所述起始节点和所述终止节点之间的第一描述信息的步骤之后,还包括:
通过所述血缘数据中的关联信息获取与所述输入数据对应工作任务的任务名称;
将所述任务名称确定为工作任务节点,并确定所述工作任务节点分别与所述起始节点和所述终止节点之间的第二描述信息;
根据所述起始节点、终止节点、工作任务节点、第一描述信息和所述第二描述信息构建所述血缘数据对应数据表与工作任务之间的有向图。
5.如权利要求1所述的数据血缘分析方法,其特征在于,所述将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中的步骤之后,还包括:
当通过联机事务处理OLTP接口接收到血缘数据的查询指令后,通过图数据引擎的服务端解析所述查询指令对应的图数据库查询语句,获取所述图数据库查询语句对应的数据表名称;
根据所述数据表名称在所述HBase中获取与所述数据表名称对应的目标节点,在所述HBase中提取与所述目标节点对应的目标有向图,并将所述目标有向图返回给所述查询指令对应用户。
6.如权利要求1所述的数据血缘分析方法,其特征在于,所述将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中的步骤之后,还包括:
当通过联机分析处理OLAP接口接收到血缘数据的查询指令后,获取所述查询指令对应的数据表名称;
通过Spark GraphX框架在所述HDFS中读取与所述数据表名称对应的数据。
7.如权利要求1所述的数据血缘分析方法,其特征在于,所述数据血缘分析方法还包括:
当通过执行器接收到定时调度系统发送的血缘数据获取请求后,通过所述执行器获取所述血缘数据;
确定所述执行器获取的所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据的关联信息,将所述血缘数据按照默认格式存储在Hive表中,其中,在所述Hive表中,一条SQL语句对应一条记录。
8.如权利要求1至7任一项所述的数据血缘分析方法,其特征在于,所述通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图的步骤之前,还包括:
将通过所述Hook获取的血缘数据封装成数据消息发送给Kafka,通过所述Kafka将数据消息发送给流式分析系统,以使所述流式分析系统通过所述数据消息确定所述血缘数据所在数据表的数据表类型。
9.一种数据血缘分析方法,其特征在于,所述数据血缘分析方法应用于数据系统,所述数据血缘分析方法包括以下步骤:
数据系统执行结构化查询语言SQL语句,并通过钩子Hook获取与所述SQL语句对应的血缘数据;
将所述血缘数据发送给流式分析系统,以供所述流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图,将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
10.如权利要求9所述的数据血缘分析方法,其特征在于,所述数据系统SQL语句,并通过钩子Hook获取与所述SQL语句对应的血缘数据的步骤包括:
数据系统执行SQL语句,并确定执行所述SQL语句的执行对象;
若所述执行对象为Hive或者Spark-SQL,则调用所述执行对象的执行行为分析对应的应用程序编程接口API,以得到对应所述SQL语句的输入数据、输出数据和关联信息;
若所述执行对象为Sqoop,则获取所述Sqoop的执行命令对应的执行参数,根据所述执行参数得到所述SQL语句的输入数据、输出数据和关联信息。
11.如权利要求9或10所述的数据血缘分析方法,其特征在于,所述将所述血缘数据发送给流式分析系统的步骤之前,还包括:
将通过所述Hook获取的血缘数据封装成数据消息发送给Kafka,以通过所述Kafka将数据消息发送给流式分析系统,以供所述流式分析系统通过所述数据消息确定所述血缘数据所在数据表的数据表类型。
12.一种数据血缘分析方法,其特征在于,所述数据血缘分析方法应用于流式分析系统,所述数据血缘分析方法包括以下步骤:
当流式分析系统接收到数据系统通过钩子Hook发送的与所述结构化查询语言SQL语句对应的血缘数据后,确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
13.如权利要求12所述的数据血缘分析方法,其特征在于,所述确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图的步骤包括:
确定所述SQL语句对应血缘数据中的输入数据所在的数据表为源表,输出数据所在的数据表为目标表;
将所述源表对应的表名称作为起始节点,所述目标表的表名称作为终止节点,并根据所述血缘数据中的关联信息确定所述起始节点和所述终止节点之间的第一描述信息;
根据所述起始节点、终止节点和所述第一描述信息构建所述血缘数据对应的数据表之间的有向图。
14.如权利要求13所述的数据血缘分析方法,其特征在于,所述将所述源表对应的表名称作为起始节点,所述目标表的表名称作为终止节点,并根据所述血缘数据中的关联信息确定所述起始节点和所述终止节点之间的第一描述信息的步骤之后,还包括:
通过所述血缘数据中的关联信息获取与所述输入数据对应工作任务的任务名称;
将所述任务名称确定为工作任务节点,并确定所述工作任务节点分别与所述起始节点和所述终止节点之间的第二描述信息;
根据所述起始节点、终止节点、工作任务节点、第一描述信息和所述第二描述信息构建所述血缘数据对应数据表与工作任务之间的有向图。
15.一种数据血缘分析装置,其特征在于,所述数据血缘分析装置应用于数据系统,所述数据血缘分析装置包括:
执行模块,用于执行结构化查询语言SQL语句;
获取模块,用于通过钩子Hook获取与所述SQL语句对应的血缘数据;
发送模块,用于将所述血缘数据发送给流式分析系统,以供所述流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图,将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
16.一种数据血缘分析装置,其特征在于,所述数据血缘分析装置应用于流式分析系统,所述数据血缘分析装置包括:
确定模块,用于当接收到数据系统通过钩子Hook发送的与所述结构化查询语言SQL语句对应的血缘数据后,确定所述血缘数据所在数据表的数据表类型;
构建模块,用于根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;
存储模块,用于将所述有向图存储至HBase中,并将所述血缘数据存储至分布式文件系统HDFS中。
17.一种数据血缘分析设备,其特征在于,所述数据血缘分析设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据血缘分析程序,所述数据血缘分析程序被所述处理器执行时实现如权利要求9-11任一项所述的数据血缘分析方法的步骤。
18.一种数据血缘分析设备,其特征在于,所述数据血缘分析设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据血缘分析程序,所述数据血缘分析程序被所述处理器执行时实现如权利要求12-14任一项所述的数据血缘分析方法的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据血缘分析程序,所述数据血缘分析程序被处理器执行时实现如权利要求9-11任一项所述的数据血缘分析方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据血缘分析程序,所述数据血缘分析程序被处理器执行时实现如权利要求12-14任一项所述的数据血缘分析方法的步骤。
21.一种数据血缘分析系统,其特征在于,所述数据血缘分析系统包括数据系统、流式分析系统和分布式文件系统HDFS中;
所述数据系统用于当执行结构化查询语言SQL语句时,通过钩子Hook获取与所述SQL语句对应的血缘数据并传输至流式分析系统;
所述流式分析系统用于通过流式分析系统确定所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据,构建所述血缘数据对应的有向图;将所述有向图存储至HBase中,并将所述血缘数据存储至HDFS中。
22.如权利要求21所述的数据血缘分析系统,其特征在于,所述数据血缘分析系统还包括联机事务处理OLTP接口;
所述OLTP接口用于当接收到血缘数据的查询指令后,通过图数据引擎的服务端解析所述查询指令对应的图数据库查询语句,获取所述图数据库查询语句对应的数据表名称;根据所述数据表名称在所述HBase中获取与所述数据表名称对应的目标节点,在所述HBase中提取与所述目标节点对应的目标有向图,并将所述目标有向图返回给所述查询指令对应用户。
23.如权利要求21所述的数据血缘分析系统,其特征在于,所述数据血缘分析系统还包括联机分析处理OLAP接口;
所述OLAP接口用于当通过OLAP接口接收到血缘数据的查询指令后,获取所述查询指令对应的数据表名称;
通过Spark GraphX框架在所述HDFS中读取与所述数据表名称对应的数据。
24.如权利要求21所述的数据血缘分析系统,其特征在于,所述数据血缘分析系统还包括执行器;
所述执行器用于当接收到定时调度系统发送的血缘数据获取请求后,通过所述执行器获取所述血缘数据;确定所获取的所述血缘数据所在数据表的数据表类型,根据所述数据表类型和所述血缘数据的关联信息,将所述血缘数据按照默认格式存储在Hive表中,其中,在所述Hive表中,一条SQL语句对应一条记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811492829.2A CN109582660B (zh) | 2018-12-06 | 2018-12-06 | 数据血缘分析方法、装置、设备、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811492829.2A CN109582660B (zh) | 2018-12-06 | 2018-12-06 | 数据血缘分析方法、装置、设备、系统及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582660A true CN109582660A (zh) | 2019-04-05 |
CN109582660B CN109582660B (zh) | 2021-08-10 |
Family
ID=65928927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811492829.2A Active CN109582660B (zh) | 2018-12-06 | 2018-12-06 | 数据血缘分析方法、装置、设备、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582660B (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008291A (zh) * | 2019-04-10 | 2019-07-12 | 北京字节跳动网络技术有限公司 | 数据预警方法、装置、存储介质及电子设备 |
CN110196888A (zh) * | 2019-05-27 | 2019-09-03 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
CN110221818A (zh) * | 2019-04-19 | 2019-09-10 | 新智云数据服务有限公司 | 数据关系的处理方法及系统 |
CN110232056A (zh) * | 2019-05-21 | 2019-09-13 | 苏宁云计算有限公司 | 一种结构化查询语言的血缘解析方法及其工具 |
CN110347882A (zh) * | 2019-06-27 | 2019-10-18 | 北京明略软件系统有限公司 | 数据的血缘分析方法及装置、存储介质和电子装置 |
CN110471949A (zh) * | 2019-07-11 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 数据血缘分析方法、装置、系统、服务器及存储介质 |
CN110502589A (zh) * | 2019-08-20 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种节点血缘关系确定方法、装置以及电子设备 |
CN110532084A (zh) * | 2019-09-04 | 2019-12-03 | 深圳前海微众银行股份有限公司 | 平台任务的调度方法、装置、设备及存储介质 |
CN110968592A (zh) * | 2019-12-06 | 2020-04-07 | 深圳前海环融联易信息科技服务有限公司 | 元数据采集方法、装置、计算机设备及计算机可读存储介质 |
CN110990429A (zh) * | 2019-11-19 | 2020-04-10 | 武汉烽火众智数字技术有限责任公司 | 数据表的血缘关系分析方法及系统 |
CN111125269A (zh) * | 2019-12-31 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 一种数据管理方法、血缘关系显示方法和相关装置 |
CN111309726A (zh) * | 2020-01-17 | 2020-06-19 | 北京明略软件系统有限公司 | 一种有向图的生成方法、生成装置及可读存储介质 |
CN111427902A (zh) * | 2020-03-24 | 2020-07-17 | 苏州亿歌网络科技有限公司 | 基于轻量型数据库的元数据管理方法、装置、设备及介质 |
CN111475584A (zh) * | 2020-06-19 | 2020-07-31 | 阿里云计算有限公司 | 数据处理方法、系统以及装置 |
CN111627552A (zh) * | 2020-04-08 | 2020-09-04 | 湖南长城医疗科技有限公司 | 一种医疗流式数据血缘关系分析、存储方法及装置 |
CN111639082A (zh) * | 2020-06-08 | 2020-09-08 | 成都信息工程大学 | 基于Ceph的十亿级节点规模知识图谱的对象存储管理方法及系统 |
CN111723253A (zh) * | 2020-05-25 | 2020-09-29 | 贵州华泰智远大数据服务有限公司 | 一种基于图数据库的数据血缘查询方法及查询系统 |
CN112256721A (zh) * | 2020-10-21 | 2021-01-22 | 平安科技(深圳)有限公司 | Sql语句解析方法、系统、计算机设备和存储介质 |
CN112395287A (zh) * | 2019-08-19 | 2021-02-23 | 北京国双科技有限公司 | 表格分类方法、表格创建方法、装置、设备和介质 |
CN112434046A (zh) * | 2020-12-16 | 2021-03-02 | 杭州天均科技有限公司 | 一种数据血缘分析方法、装置、设备及存储介质 |
CN112989151A (zh) * | 2021-03-11 | 2021-06-18 | 北京锐安科技有限公司 | 数据血缘关系展示方法、装置、电子设备及存储介质 |
CN113326401A (zh) * | 2021-06-16 | 2021-08-31 | 上海哔哩哔哩科技有限公司 | 字段血缘生成方法及系统 |
CN113434312A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 数据血缘关系处理方法及装置 |
CN113468165A (zh) * | 2020-03-31 | 2021-10-01 | 中国移动通信集团贵州有限公司 | 数据的血缘关系建立方法、装置及电子设备、存储介质 |
WO2021218021A1 (zh) * | 2020-04-28 | 2021-11-04 | 平安科技(深圳)有限公司 | 数据血缘分析方法、装置、设备及计算机可读存储介质 |
CN113722310A (zh) * | 2021-09-16 | 2021-11-30 | 北京航空航天大学 | 一种血缘信息可视化表示方法 |
CN113868253A (zh) * | 2021-09-28 | 2021-12-31 | 中通服创立信息科技有限责任公司 | 一种数据关系捕获及大数据关系树构建方法 |
CN114253995A (zh) * | 2022-03-01 | 2022-03-29 | 深圳市明源云科技有限公司 | 数据溯源方法、装置、设备及计算机可读存储介质 |
CN114491180A (zh) * | 2022-04-18 | 2022-05-13 | 武汉中科通达高新技术股份有限公司 | 交管数据流向分析方法、装置、计算机设备及存储介质 |
CN116010428A (zh) * | 2023-02-24 | 2023-04-25 | 杭州比智科技有限公司 | 一种数据血缘分析方法和装置 |
CN117688217A (zh) * | 2024-02-02 | 2024-03-12 | 北方健康医疗大数据科技有限公司 | 基于有向图实现数据血缘关系结构的系统、方法及介质 |
CN110196888B (zh) * | 2019-05-27 | 2024-05-10 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8578487B2 (en) * | 2010-11-04 | 2013-11-05 | Cylance Inc. | System and method for internet security |
CN107545030A (zh) * | 2017-07-17 | 2018-01-05 | 阿里巴巴集团控股有限公司 | 数据血缘关系的处理方法、装置及设备 |
CN107943840A (zh) * | 2017-10-30 | 2018-04-20 | 深圳前海微众银行股份有限公司 | 数据处理方法、系统和计算机可读存储介质 |
CN104899314B (zh) * | 2015-06-17 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
-
2018
- 2018-12-06 CN CN201811492829.2A patent/CN109582660B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8578487B2 (en) * | 2010-11-04 | 2013-11-05 | Cylance Inc. | System and method for internet security |
CN104899314B (zh) * | 2015-06-17 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN107545030A (zh) * | 2017-07-17 | 2018-01-05 | 阿里巴巴集团控股有限公司 | 数据血缘关系的处理方法、装置及设备 |
CN107943840A (zh) * | 2017-10-30 | 2018-04-20 | 深圳前海微众银行股份有限公司 | 数据处理方法、系统和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
CXY: "大数据血缘分析系统设计(三)", 《CXY的大数据实践田》 * |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008291A (zh) * | 2019-04-10 | 2019-07-12 | 北京字节跳动网络技术有限公司 | 数据预警方法、装置、存储介质及电子设备 |
CN110221818A (zh) * | 2019-04-19 | 2019-09-10 | 新智云数据服务有限公司 | 数据关系的处理方法及系统 |
CN110232056A (zh) * | 2019-05-21 | 2019-09-13 | 苏宁云计算有限公司 | 一种结构化查询语言的血缘解析方法及其工具 |
CN110232056B (zh) * | 2019-05-21 | 2022-02-25 | 苏宁云计算有限公司 | 一种结构化查询语言的血缘解析方法及其工具 |
CN110196888A (zh) * | 2019-05-27 | 2019-09-03 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
WO2020238597A1 (zh) * | 2019-05-27 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
CN110196888B (zh) * | 2019-05-27 | 2024-05-10 | 深圳前海微众银行股份有限公司 | 基于Hadoop的数据更新方法、装置、系统及介质 |
CN110347882A (zh) * | 2019-06-27 | 2019-10-18 | 北京明略软件系统有限公司 | 数据的血缘分析方法及装置、存储介质和电子装置 |
CN110471949A (zh) * | 2019-07-11 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 数据血缘分析方法、装置、系统、服务器及存储介质 |
CN112395287A (zh) * | 2019-08-19 | 2021-02-23 | 北京国双科技有限公司 | 表格分类方法、表格创建方法、装置、设备和介质 |
CN110502589A (zh) * | 2019-08-20 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种节点血缘关系确定方法、装置以及电子设备 |
CN110502589B (zh) * | 2019-08-20 | 2023-12-01 | 创新先进技术有限公司 | 一种节点血缘关系确定方法、装置以及电子设备 |
CN110532084A (zh) * | 2019-09-04 | 2019-12-03 | 深圳前海微众银行股份有限公司 | 平台任务的调度方法、装置、设备及存储介质 |
CN110990429A (zh) * | 2019-11-19 | 2020-04-10 | 武汉烽火众智数字技术有限责任公司 | 数据表的血缘关系分析方法及系统 |
CN110990429B (zh) * | 2019-11-19 | 2022-08-09 | 武汉烽火众智数字技术有限责任公司 | 数据表的血缘关系分析方法及系统 |
CN110968592A (zh) * | 2019-12-06 | 2020-04-07 | 深圳前海环融联易信息科技服务有限公司 | 元数据采集方法、装置、计算机设备及计算机可读存储介质 |
CN110968592B (zh) * | 2019-12-06 | 2023-11-21 | 深圳前海环融联易信息科技服务有限公司 | 元数据采集方法、装置、计算机设备及计算机可读存储介质 |
CN111125269A (zh) * | 2019-12-31 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 一种数据管理方法、血缘关系显示方法和相关装置 |
CN111125269B (zh) * | 2019-12-31 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 一种数据管理方法、血缘关系显示方法和相关装置 |
CN111309726A (zh) * | 2020-01-17 | 2020-06-19 | 北京明略软件系统有限公司 | 一种有向图的生成方法、生成装置及可读存储介质 |
CN111309726B (zh) * | 2020-01-17 | 2024-03-22 | 北京明略软件系统有限公司 | 一种有向图的生成方法、生成装置及可读存储介质 |
CN111427902A (zh) * | 2020-03-24 | 2020-07-17 | 苏州亿歌网络科技有限公司 | 基于轻量型数据库的元数据管理方法、装置、设备及介质 |
CN111427902B (zh) * | 2020-03-24 | 2024-05-07 | 苏州亿歌网络科技有限公司 | 基于轻量型数据库的元数据管理方法、装置、设备及介质 |
CN113468165A (zh) * | 2020-03-31 | 2021-10-01 | 中国移动通信集团贵州有限公司 | 数据的血缘关系建立方法、装置及电子设备、存储介质 |
CN111627552B (zh) * | 2020-04-08 | 2023-07-14 | 湖南长城医疗科技有限公司 | 一种医疗流式数据血缘关系分析、存储方法及装置 |
CN111627552A (zh) * | 2020-04-08 | 2020-09-04 | 湖南长城医疗科技有限公司 | 一种医疗流式数据血缘关系分析、存储方法及装置 |
WO2021218021A1 (zh) * | 2020-04-28 | 2021-11-04 | 平安科技(深圳)有限公司 | 数据血缘分析方法、装置、设备及计算机可读存储介质 |
CN111723253A (zh) * | 2020-05-25 | 2020-09-29 | 贵州华泰智远大数据服务有限公司 | 一种基于图数据库的数据血缘查询方法及查询系统 |
CN111639082A (zh) * | 2020-06-08 | 2020-09-08 | 成都信息工程大学 | 基于Ceph的十亿级节点规模知识图谱的对象存储管理方法及系统 |
CN111639082B (zh) * | 2020-06-08 | 2022-12-23 | 成都信息工程大学 | 基于Ceph的十亿级节点规模知识图谱的对象存储管理方法及系统 |
CN111475584A (zh) * | 2020-06-19 | 2020-07-31 | 阿里云计算有限公司 | 数据处理方法、系统以及装置 |
CN112256721A (zh) * | 2020-10-21 | 2021-01-22 | 平安科技(深圳)有限公司 | Sql语句解析方法、系统、计算机设备和存储介质 |
CN112256721B (zh) * | 2020-10-21 | 2021-08-17 | 平安科技(深圳)有限公司 | Sql语句解析方法、系统、计算机设备和存储介质 |
CN112434046A (zh) * | 2020-12-16 | 2021-03-02 | 杭州天均科技有限公司 | 一种数据血缘分析方法、装置、设备及存储介质 |
CN112434046B (zh) * | 2020-12-16 | 2021-09-17 | 杭州天均科技有限公司 | 一种数据血缘分析方法、装置、设备及存储介质 |
CN112989151B (zh) * | 2021-03-11 | 2024-05-14 | 北京锐安科技有限公司 | 数据血缘关系展示方法、装置、电子设备及存储介质 |
CN112989151A (zh) * | 2021-03-11 | 2021-06-18 | 北京锐安科技有限公司 | 数据血缘关系展示方法、装置、电子设备及存储介质 |
CN113326401B (zh) * | 2021-06-16 | 2023-01-20 | 上海哔哩哔哩科技有限公司 | 字段血缘生成方法及系统 |
CN113326401A (zh) * | 2021-06-16 | 2021-08-31 | 上海哔哩哔哩科技有限公司 | 字段血缘生成方法及系统 |
CN113434312A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 数据血缘关系处理方法及装置 |
CN113722310A (zh) * | 2021-09-16 | 2021-11-30 | 北京航空航天大学 | 一种血缘信息可视化表示方法 |
CN113868253A (zh) * | 2021-09-28 | 2021-12-31 | 中通服创立信息科技有限责任公司 | 一种数据关系捕获及大数据关系树构建方法 |
CN113868253B (zh) * | 2021-09-28 | 2024-04-23 | 中通服创立信息科技有限责任公司 | 一种数据关系捕获及大数据关系树构建方法 |
CN114253995A (zh) * | 2022-03-01 | 2022-03-29 | 深圳市明源云科技有限公司 | 数据溯源方法、装置、设备及计算机可读存储介质 |
CN114491180A (zh) * | 2022-04-18 | 2022-05-13 | 武汉中科通达高新技术股份有限公司 | 交管数据流向分析方法、装置、计算机设备及存储介质 |
CN116010428A (zh) * | 2023-02-24 | 2023-04-25 | 杭州比智科技有限公司 | 一种数据血缘分析方法和装置 |
CN117688217A (zh) * | 2024-02-02 | 2024-03-12 | 北方健康医疗大数据科技有限公司 | 基于有向图实现数据血缘关系结构的系统、方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109582660B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582660A (zh) | 数据血缘分析方法、装置、设备、系统及可读存储介质 | |
US8977600B2 (en) | System and method for continuous analytics run against a combination of static and real-time data | |
US10810110B1 (en) | Methods, systems, and articles of manufacture for testing web services using a behavior-driven development domain specific language framework | |
CN107688618B (zh) | 数据对比方法、装置、计算机设备和存储介质 | |
JP5298117B2 (ja) | 分散コンピューティングにおけるデータマージング | |
US11775501B2 (en) | Trace and span sampling and analysis for instrumented software | |
US11409645B1 (en) | Intermittent failure metrics in technological processes | |
CN109656963B (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
JP2019518264A (ja) | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 | |
US20210385251A1 (en) | System and methods for integrating datasets and automating transformation workflows using a distributed computational graph | |
US10803083B2 (en) | System and method of generating platform-agnostic abstract syntax tree | |
CN106599164A (zh) | 复杂事件处理中对于参数化的查询/视图的支持 | |
CN110224896B (zh) | 一种网络性能数据采集方法、装置及存储介质 | |
US9330140B1 (en) | Transient virtual single tenant queries in a multi-tenant shared database system | |
US11487513B1 (en) | Reusable custom functions for playbooks | |
CN111177113B (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
US20130174048A1 (en) | Techniques for guided access to an external distributed file system from a database management system | |
CN108664665A (zh) | 数据格式转化方法、装置、设备及可读存储介质 | |
CN107153702A (zh) | 一种数据处理方法及装置 | |
Medvedev et al. | Data ingestion and storage performance of iot platforms: Study of openiot | |
CN113806429A (zh) | 基于大数据流处理框架的画布式日志分析方法 | |
CN115017182A (zh) | 一种可视化的数据分析方法及设备 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN106648722A (zh) | 基于大数据的Flume接收端数据处理方法和装置 | |
CN112559525A (zh) | 数据检查系统、方法、装置和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |