Atals元数据治理-TypeSystem详解

本文详细介绍了Atlas的Type System,包括Types、Entities和Attributes。Types定义了元数据对象的结构,Entity是Type的实例,而Attributes则详细描述了对象的属性。文章还讨论了Referenceable、Asset、DataSet、Infrastructure和Process等系统特定类型及其重要性。
摘要由CSDN通过智能技术生成

Type System

Atlas允许用户为他们要管理的元数据对象定义模型。该模型由称为“类型”的定义组成。称为“实体”的“类型”的实例表示受管理的实际元数据对象。Type System是允许用户定义和管理Type 和Entity的组件。开箱即用的Atlas管理的所有元数据对象(例如,像Hive表)都使用Type 进行建模,并表示为实体。为了在Atlas中存储新类型的元数据,需要了解类型系统组件的概念。

Types

Atlas中的Type是对如何存储和访问特定类型的元数据对象的定义。Type代表一个或一组属性,这些属性定义元数据对象的属性。具有开发背景的用户将认识到类型与面向对象编程语言的“类”定义或关系数据库的“table schema”相似。以下是Atlas内部定义EntityType的一个Referenceable类型的定义,该类型定义的JSON格式如下:

{
    "entityDefs": [
        {
            "name": "Referenceable",
            "superTypes": [],
            "serviceType": "atlas_core",
            "typeVersion": "1.0",
            "attributeDefs": [
                {
                    "name": "qualifiedName",
                    "typeName": "string",
                    "cardinality": "SINGLE",
                    "isIndexable": true,
                    "isOptional": false,
                    "isUnique": true
                },
                {
                    "name": "replicatedFrom",
                    "typeName": "array<AtlasServer>",
                    "cardinality": "SET",
                    "isIndexable": false,
                    "isOptional": true,
                    "isUnique": false,
                    "options": {
                        "isSoftReference": "true"
                    }
                },
                {
                    "name": "replicatedTo",
                    "typeName": "array<AtlasServer>",
                    "cardinality": "SET",
                    "isIndexable": false,
                    "isOptional": true,
                    "isUnique": false,
                    "options": {
                        "isSoftReference": "true"
                    }
                }
            ]
        }
    ]
}

这里需要注意在Atlas中所有的Type在定义的时候必须使用唯一的unique的name属性,其中所有类型都必须有个MetaType类型,Atlas提供了如下的元数据类型:

  • Primitive metatypes: boolean, byte, short, int, long, float, double, biginteger, bigdecimal, string, date

  • Enum metatypes

  • Collection metatypes: array, map

  • Composite metatypes: Entity, Struct, Classification, Relationship

Entity和Classification类型可以从称为“superTypes”的其他类型“extends”-凭借此特性,它也将包括在superTypes中定义的属性。这使建模者可以在一组相关Type类型中定义公共属性。这再次类似于面向对象语言如何为类定义超类的概念。

对于元数据类型是Entity、Struct、Classification或者Relationship的类型可以有一个attributes属性,每个Attribute属性有一个name和一些其他的关联属性。当需要访问具体的属性的时候用户可以使用type_name.attribute_name方式获取对应的属性。同时可以注意到这些属性本身的定义也是使用Atlas的元数据类型定义的。

在上述的例子中Referenceable.qualifiedName是一个string类型,Referenceable.replicatedFrom是一个array类型,Referenceable.meanings是一个引用了array类型

定义一个自定义的类型继承自Referenceable类型


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值