首页> 中国专利> 一种基于Atlas实现多维元数据联合查询的方法

一种基于Atlas实现多维元数据联合查询的方法

摘要

本发明公开了一种基于Atlas实现多维元数据联合查询的方法,属于数据查询技术领域。本发明的基于Atlas实现多维元数据联合查询的方法创建自定义的Atlas type,根据自定义的Atlas type进行分类存储,并根据分类存储后的内容进行分类查询及联合检索。该发明的基于Atlas实现多维元数据联合查询的方法不需要改动底层的Atlas服务模块的源代码,即能够很好的实现底层服务的扩展,大大缩减开发成本及故障率,具有很好的推广应用价值。

著录项

  • 公开/公告号CN113806366A

    专利类型发明专利

  • 公开/公告日2021-12-17

    原文格式PDF

  • 申请/专利权人 浪潮云信息技术股份公司;

    申请/专利号CN202111042924.4

  • 申请日2021-09-07

  • 分类号G06F16/22(20190101);G06F16/245(20190101);G06F16/27(20190101);G06F16/28(20190101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人姜鹏

  • 地址 250100 山东省济南市高新区浪潮路1036号浪潮科技园S01号楼

  • 入库时间 2023-06-19 13:45:04

说明书

技术领域

本发明涉及数据查询技术领域,具体提供一种基于Atlas实现多维元数据联合查询的方法。

背景技术

随着云时代的来临,面对海量且持续增加的各式各样的数据对象,越来越难知道哪些数据从哪里来以及它如何随时间而变化情况。采用Hadoop必须考虑数据管理的实际情况,元数据与数据治理成为企业级数据湖的重要部分。Atlas用于管理共享元数据、数据分级、审计、安全性以及数据保护等方面,努力与Apache Ranger整合,用于数据权限控制策略。Apache Atlas是hadoop的数据治理和元数据框架,它提供了一个可伸缩和可扩展的核心基础数据治理服务集,使得企业可以有效的和高效的满足Hadoop中的合规性要求,并允许与整个企业的数据生态系统集成。

然而,在实际使用中会经常遇到需要多维元数据联合查询的情景,现在Atlas服务自身是没有提供此项服务内容的,Atlas服务仅提供创建单一元数据type,不支持多种type进行联合查询,无法解决跨type联合查询的情形,如根据数据库的元数据信息进行联合检索其下属数据表的元数据信息,根据数据表的元数据信息反向查询其归属库的元数据信息;或者,根据数据库的元数据信息直接跨级查询其下属数据列的各项元数据信息等场景,此类情形均为常见的一些用户情形,在日常处理中经常使用代码进行分层查询并分层过滤处理,给开发者带来了很大的开发工作量也给项目管理者带来了很大的开发成本问题,急需一种可通过动态扩展的方式来解决此问题。

发明内容

本发明的技术任务是针对上述存在的问题,提供一种不需要改动底层的Atlas服务模块的源代码,即能够很好的实现底层服务的扩展,大大缩减开发成本及故障率的基于Atlas实现多维元数据联合查询的方法。

为实现上述目的,本发明提供了如下技术方案:

一种基于Atlas实现多维元数据联合查询的方法,创建自定义的Atlas type,根据自定义的Atlas type进行分类存储,并根据分类存储后的内容进行分类查询及联合检索。

作为优选,该基于Atlas实现多维元数据联合查询的方法包括以下步骤:

S1、部署Hadoop生态下的Atlas服务;

S2、编写自定义的type信息,包含但不限于元数据ID、元数据名称、元数据类型、元数据创建时间、元数据修改时间、元数据创建用户;

S3、调用Apache atlas服务的自定义type的RestAPI创建上述type;

S4、调用Apache atlas服务的保存数据的RESTAPI进行数据库的元数据信息、数据表的元数据信息、数据列的元数据信息的保存;

S5、调用对应的RESTAPI来进行将上述步骤所采集到的数据库、schema、数据表、数据列的元数据内容,分别写入到定义的数据库、schema、数据表、数据列的Type类型及实体中;

S6、调用Apache atlas服务的数据查询RESTAPI,并插入对应的联合检索参数进行检索查询后返回结果数据。

作为优选,步骤S1中,部署Atlas依赖的基础服务,包括服务注册中心Zookeeper、权限管理服务Ranger、分布式文件存储系统HDFS、分布式列数据库Hbase、图数据库janusgraph。

作为优选,步骤S2中,数据库元数据可扩展元数据数据库名称、元数据数据库类型、元数据数据库地址信息。

作为优选,数据表元数据可扩展元数据数据表名称、元数据数据表中文名称、元数据数据表描述、元数据数据表安全等级、元数据数据表所属数据库ID、元数据数据表所属数据库类型、元数据数据表所属数据源ID、元数据数据表所属数据库类型、元数据数据表所属数据源ID、元数据数据表版本信息、元数据数据表标签值、元数据数据表是否主标注信息。

作为优选,数据列元数据可扩展元数据数据列名称、元数据数据列中文名称、元数据数据列描述、元数据数据列长度、元数据数据列精度、元数据数据列类型、元数据数据列所挂载的模型标准ID、元数据数据列所挂载的数据字典ID、元数据数据列数据格式、元数据数据列安全等级、元数据数据列所属数据表的ID、元数据数据列所属数据源类型、元数据数据列所属数据源ID信息。

作为优选,步骤S3中,调用方式为POST方式,传入对应参数创建对应type格式,若成功则返回成功标志并返回创建成功后的type格式,不成功则进行排查修正后再进行尝试。

作为优选,步骤S4中,不同的元数据信息如数据库元数据信息、数据表元数据信息、数据列元数据信息在保存时会按照不同的层级分别进行保存。

作为优选,步骤S5中,将对应的各类元数据内容写入到Atlas中,Atlas底层采用的janusgraph图数据作为存储引擎,Hbase作为存储介质,Solr服务或ElasticSearch作为检索引擎,对其中各类元数据信息进行增删改查操作。

作为优选,步骤S6中,根据传入的查询条件组装适用于自定义的Atlas type的查询语句进行查询。如根据元数据库信息进行检索下属元数据表信息时可以根据元数据库信息为传入参数、区分信息列为检索目标类型(数据表类型,对应常量值为“table”)即可实现联合检索查询到目标数据集。

与现有技术相比,本发明的基于Atlas实现多维元数据联合查询的方法具有以下突出的有益效果:所述基于Atlas实现多维元数据联合查询的方法基于使用底层Atlas服务所提供的RESTAPI方式进行自定义ApacheAtlas type的方式,很好实现了底层服务的扩展,不需要改动底层的Atlas服务模块的源代码即可实现,大大缩减了开发成本及故障率。本发明还通过基于自定义type的方式实现一套二维表的存储机制,很好的保存了所有的各类元数据信息并实现了能按照输入的查询条件进行多维联合的查询,适用于多种需要进行多维元数据联合查询的情景,具有良好的推广应用价值。

附图说明

图1是本发明所述基于Atlas实现多维元数据联合查询的方法的流程图。

具体实施方式

下面将结合附图和实施例,对本发明的基于Atlas实现多维元数据联合查询的方法作进一步详细说明。

实施例

本发明的基于Atlas实现多维元数据联合查询的方法,创建自定义的Atlastype,根据自定义的Atlas type进行分类存储,并根据分类存储后的内容进行分类查询及联合检索。首先,由于Apache Atlas服务支持自定义type的方式,所以可以通过调用Apache Atlas服务提供的REST API接口来实现自定义type的目的,所以需要进行编写的自定义的type信息并调用对应的REST API接口,其中自定义type信息中应至少包含数据库元数据信息列、数据表元数据信息列、数据列元数据信息列、区分元数据属性的列meta_type及自身name属性值。其次,在自定义好type后可以调用Apache Atlas的底层存储REST API接口来实现存储的目的,其中在保存时,数据库只保存含有数据库元数据信息的各项数据及meta_type、name,meta_type保存值为“database”、name保存值为数据库的name值;数据表除了保存含有数据表元数据信息的各项数据外,还需要先查询到或者获取到其归属的上层数据库的各项元数据信息项及meta_type、name,meta_type保存值为“table”、name保存值为数据表的name值;数据列除了保存含有数据表元数据信息的各项数据外,还需要先查询到或者获取到其归属的上层数据库级数据表表的各项元数据信息项及meta_type、name,meta_type保存值为“column”、name保存值为数据列的name值。最后,在调用接口进行多维元数据联合查询此type时,传入需要查询的条件,如按照数据库名称查询下属的所有数据表的元数据信息,即传入db_name为数据库名称,type为“table”即可查询出所有的db_name为目标数据库名称的,类型为数据表的所有元数据信息。

如图1所示,基于Atlas实现多维元数据联合查询的方法包括以下步骤:

S1、部署Hadoop生态下的Atlas服务。

部署Atlas依赖的基础服务,包括服务注册中心Zookeeper、权限管理服务Ranger、分布式文件存储系统HDFS、分布式列数据库Hbase、图数据库janusgraph。在所依赖的服务均正常启动后,启动Atlas服务,并验证是否正常启动。调用Apache Atlas服务提供的自定义type的接口创建一个自定义的type,进一步包括,此自定义type包含有数据库元数据信息、数据表元数据信息、数据列元数据信息及共有的元数据信息、区分信息列;进一步包括,创建一个包含各类元数据的所有的元数据信息及一些做元数据类别区分的列。

S2、编写自定义的type信息,包含但不限于元数据ID、元数据名称、元数据类型、元数据创建时间、元数据修改时间、元数据创建用户。

1)数据库元数据可扩展元数据数据库名称、元数据数据库类型、元数据数据库地址等信息。

2)数据表元数据可扩展元数据数据表名称、元数据数据表中文名称、元数据数据表描述、元数据数据表安全等级、元数据数据表所属数据库ID、元数据数据表所属数据库类型、元数据数据表所属数据源ID、元数据数据表版本信息、元数据数据表标签值、元数据数据表是否主表标志等信息。

3)数据列元数据可扩展元数据数据列名称、元数据数据列中文名称、元数据数据列描述、元数据数据列长度、元数据数据列精度、元数据数据列类型、元数据数据列所挂载的模型标准ID、元数据数据列所挂载的数据字典ID、元数据数据列数据格式、元数据数据列安全等级、元数据数据列所属数据表的ID、元数据数据列所属数据源类型、元数据数据列所属数据源ID等信息。

S3、调用Apache atlas服务的自定义type的RestAPI创建上述type。

调用方法为POST方式,传入对应参数创建对应type,如果成功则返回成功标志并返回创建成功后的type格式,不成功则按照上述步骤进行排查修正后再次尝试。

基于自定义的Atlas type进行数据分层保存,不同的元数据信息如数据库元数据信息、数据表元数据信息、数据列元数据信息在保存时会按照不同的层级分别进行保存,数据库类型保存时需要保存数据库元数据信息及区分信息列,数据表类型进行保存时需要保存其对应的数据库元数据信息、自己的数据表元数据信息及区分信息列,数据列类型进行保存时需要保存其对应的数据库元数据信息、其对应的数据表的元数据信息、自己的数据列元数据信息及区分信息列。

S4、调用Apache atlas服务的保存数据的RESTAPI进行数据库的元数据信息、数据表的元数据信息、数据列的元数据信息的保存。

不同的元数据信息如数据库元数据信息、数据表元数据信息、数据列元数据信息在保存时会按照不同的层级分别进行保存,进一步包括,数据库类型保存时需要保存数据库元数据信息及区分信息列,数据表类型进行保存时需要保存其对应的数据库元数据信息、自己的数据表元数据信息及区分信息列,数据列类型进行保存时需要保存其对应的数据库元数据信息、其对应的数据表的元数据信息、自己的数据列元数据信息及区分信息列。

根据传入的查询条件进行组装适用于上述自定义的Atlas type的查询语句进行查询,如根据元数据库信息进行检索下属元数据表信息时可以根据元数据库信息为传入参数、区分信息列为检索目标类型(数据表类型,对应常量值为“table”)即可实现联合检索查询到目标数据集。

S5、调用对应的RESTAPI来进行将上述步骤所采集到的数据库、schema、数据表、数据列的元数据内容,分别写入定义的数据库、schema、数据表、数据列的Type类型及实体中。

将对应的各类元数据内容写入到了Atlas中,Atlas底层采用的janusgraph图数据作为存储引擎,Hbase作为存储介质,Solr服务或者ElasticSearch作为检索引擎,可以对其中的各类元数据信息进行增删改查等操作。

S6、调用Apache atlas服务的数据查询RESTAPI,并插入对应的联合检索参数进行检索查询后返回结果数据。

根据传入的查询条件进行组装适用于上述自定义的Atlas type的查询语句进行查询,如根据元数据库信息进行检索下属元数据表信息时可以根据元数据库信息为传入参数、区分信息列为检索目标类型(数据表类型,对应常量值为“table”)即可实现联合检索查询到目标数据集。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号