背景:笔者和团队的小伙伴近期在进行数据治理/元数据管理方向的探索, 在接下来的系列文章中, 会陆续与读者们进行分享在此过程中踩过的坑和收获。
元数据管理系列文章:
[0] - 使用Atlas进行元数据管理之Atlas简介
[1] - 使用Atlas进行元数据管理之Glossary(术语)
[2] - 使用Atlas进行元数据管理之Type(类型)
1. Glossary(术语表) 介绍
Atlas的术语表(Glossary)提供了一些适当的“单词”,这些“单词”能彼此进行关连和分类,以便业务用户在使用的时候,即使在不同的上下文中也能很好的理解它们。此外,这些术语也是可以映射到数据资产中的,比如:数据库,表,列等。
术语表抽象出了和数据相关的专业术语,使得用户能以他们更熟悉的方式去查找和使用数据。
1.1 术语表功能
- 能够使用自然语言(技术术语和/或业务术语)定义丰富的术语词汇表。
- 能够将术语在语义上相互关联。
- 能够将资产映射到术语表中。
- 能够按类别划分这些术语。这为术语增加了更多的上下文。
- 允许按层次结构排列类别,能展示更广泛和更精细的范围。
- 从元数据中独立管理术语表。
1.2 术语(Term)
对于企业来说术语作用的非常大的。对于有用且有意义的术语,需要围绕其用途和上下文进行分组。 Apache Atlas中的术语必须具有唯一的qualifiedName,可以有相同名称的术语,但它们不能属于同一个术语表。具有相同名称的术语只能存在于不同的术语表中。
术语名称可以包含空格,下划线和短划线(作为引用单词的自然方式)但不包含“。”或“@”,因为qualifiedName的格式为:<术语>@<术语限定名>
。限定名称可以更轻松地使用特定术语。
术语只能属于单个术语表,并且它们的生命周期也是相同的,如果删除术语表,则术语也会被删除。术语可以属于零个或多个类别,这允许将它们限定为更小或更大的上下文。
可以在Apache Atlas中为一个或多个实体分配/链接一个术语。可以使用分类(classifications
,类似标签的作用)对术语进行分类,并将相同的分类应用于分配术语的实体。
1.3 类别(Category)
类别是组织术语的一种方式,以便可以丰富术语的上下文。
类别可能包含也可能不包含层次结构,即子类别层次结构。类别的qualifiedName是使用它在术语表中的分层位置导出的,例如:<类别名称>.<父类别限定名>
。当发生任何层级更改时,此限定名称都会更新,例如:添加父类别,删除父类别或更改父类别。
2. Atlas Web UI
Apache Atlas UI提供了友好的用户界面,可以使用术语表相关的功能,其中包括:
- 创建术语表,术语和类别
- 在术语之间创建各种关系: synonymns(同义词),antonymns(反义词),seeAlso(参考)
- 调整类别的层次结构中
- 为实体分配实体(entities)
- 使用关联术语搜索实体
与术语表相关的UI都可以在GLOSSARY
的Tab下找到。
2.1 Glossary Tab
Apache Atlas UI提供了两种使用术语表的方法: 术语(Terms)视图
和类别(Category)视图
。
(1) 术语视图(Terms)
术语视图允许用户执行以下操作:
- 创建,更新和删除术语
- 添加,删除和更新与术语关联的分类
- 添加,删除和更新术语的分类
- 在术语之间创建各种关系
- 查看与术语关联的实体
(2) 类别视图(Category)
类别视图允许用户执行以下操作:
- 创建,更新和删除类别和子类别
- 将术语与类别相关联