【DataHub】 现代数据栈的元数据平台--如何使用数据领域Domain?

Data Domain是DataHub中用于数据资产逻辑分组的关键功能,它代表了数据的高级类别,允许对数据资产进行显式分组和责任分配。区别于标签和术语表,数据域与业务单元或专业领域相关联,每个资产仅能归属一个域。DataHub提供了数据域的列表查看、详情、搜索和API操作,但目前不支持删除数据域。
摘要由CSDN通过智能技术生成

Data Domain 数据域

Data Domain是什么?

DataHub从v0.8.25开始支持针对数据资产进行数据域管理
Data Domain是数据资产的逻辑分组集合,目前一个数据资产一次只能属于一个Data Domain
Data Domain是对数据资产的显式分组、顶级分类。

  • 从数据库管理的角度来看,数据域表示数据元素可能包含的值的集合,如性别列的数据域是“男性”、“女性”、“非二进制”或“未指定”4个值。
  • 从数据治理的角度来看,数据域是“组织感兴趣的项或组织内感兴趣的区域的逻辑分组”。
    • 可以将数据域视为数据的高级类别,目的是为数据分配责任和职责。
    • 在数据治理中,数据领域也称为“主题领域”
    • Data sub-domain 数据子域:通常每个数据域都有3到10个数据子域。

如针对电商的顾客这一数据领域,对应的数据子域:个体、团体、公司、家庭、慈善机构等等

Tags、Glossary Terms、Domains的区别

DataHub支持使用标签、术语表术语、域 来划分不同类型的元数据,以适合特定的目的:

  • Tags 标签: 非正式的,松散的控制标签,作为搜索和发现的工具。资产可能有多个标签。没有正式的集中管理。
  • Glossary Terms 术语表术语: 受控词汇表,具有可选的层次结构。术语通常用于规范叶级属性(即模式字段)的类型。例如(EMAIL_PLAINTEXT)
  • Domains 领域: 一组顶级类别,通常与资产最相关的业务单元/专业领域相结合。集中或分布式管理。每个数据资产只能属于一个领域。

DataHub针对Data Domain的支持

数据域列表

在这里插入图片描述

数据域详情

在这里插入图片描述

按数据域搜索

在这里插入图片描述

Domains API

可以在postman中测试下面的API,
注意:

  • 需要在请求的header中增加如下:
    • X-DataHub-Actor : urn:li:corpuser:datahub
    • Content-Type : application/json
  • 将body的类型设置为GraphQL

在这里插入图片描述

增加或修改数据域

默认情况下【即不指定id】将生成一个随机UUID来唯一地标识该数据域(domain id)。
如果想提供一个自定义、可读的id来更容易地跟踪这个数据域,可通过参数id进行设置。
请注意,创建后不能轻易更改域id

mutation createDomain {
  createDomain(input: { 
      name: "售后", 
      description: "所有涉及售后服务的数据",
      id: "f8ec332a-b615-4aa7-9769-eac816f5f43e"
    })
}

设置数据资产属于哪一个域

mutation setDomain {
  setDomain(entityUrn: "urn:li:dataset:(urn:li:dataPlatform:hdfs,SampleHdfsDataset,PROD)", domainUrn: "urn:li:domain:knowledge-lib")
}

查询某一个域

query getDomain {
  domain(urn: "urn:li:domain:knowledge-lib") {
    id
    type
    urn
    properties {
        name 
        description
    }
    entities {
            total
    }
  }
}

查询域列表

query getListDomains {
    listDomains(input: {start:0,count:10}) {
        start
        count
        total
        domains {
            urn
            id
            properties {
                name
                description
            }
           
            entities(input: { start: 0, count: 1 }) {
                total
            }
        }
    }
}

目前版本存在的问题

删除数据域目前不支持

mutation unsetDomain  {
  unsetDomain (entityUrn:"urn:li:domain:486c1fbe-04bb-4878-b603-312256c94c10")
}

报如下异常:

Caused by: java.lang.RuntimeException: Failed to unset Domains for resource with entity urn urn:li:domain:486c1fbe-04bb-4878-b603-312256c94c10
        at com.linkedin.datahub.graphql.resolvers.domain.UnsetDomainResolver.lambda$get$0(UnsetDomainResolver.java:69)
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
        ... 5 common frames omitted
Caused by: java.lang.RuntimeException: Unknown aspect domains for entity domain
        at com.linkedin.metadata.entity.EntityService.ingestProposal(EntityService.java:388)
        at com.linkedin.entity.client.JavaEntityClient.ingestProposal(JavaEntityClient.java:381)
        at com.linkedin.datahub.graphql.resolvers.domain.UnsetDomainResolver.lambda$get$0(UnsetDomainResolver.java:65)
        ... 6 common frames omitted

参考

Datahub Domains Guide
what-is-a-data-domain-examples-included

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值