数仓元数据管理之Atlas web UI以及自定义开发(2.1.0)
1. 背景
- 数仓开发中,当数据库,表比较多,又需要进行这些表,数据库的元数据管理和梳理时,就需要使用到元数据管理工具。
- atlas就是一款数仓中元数据管理框架,但由于是开源框架,本身并没有将所有企业开发中需要涉及到功能都提供,剩余部分需要自行根据需求开发,所以提供了基本的web页面和功能(个人认为就是演示使用),以及API,可以让企业按照自身需求做开发。
2. web ui
- ApacheAtlasUI功能包括4部分
- create entity:创建实体(创建数据资产的元数据–人工录入元数据)
(在atlas中,有大量的对各类数据资产适配的描述定义:实体类型!
hive_table; hive_db;hive_column;hive_process;hdfs_path,…,如果我们有一个数据资产,没有对应的内置实体类型,可以自己去定义一个你的实体类型,来描述你的这个数据资产) - search:搜索查看
- classfication:分类管理
- glossary:对数据资产标记“术语”(标签)
- Create Entity

atlas跟HDFS之间没有开发好的元数据钩子,atlas是无法自动感知到hdfs中数据资产的属性、操作记录等信息的;这时,我们可以手动去为atlas创建这些信息
用到的功能就是 create new entity
如hdfs中有一个目录/aaa/bbb
我们手动去创建一个数据资产的描述(元数据)时,有很多信息,在页面的表单中没有提供填写的输入框
注意,手动录入对于企业开发来说是比较低效的,一般是联合web端开发,开发自己的自定义web页面,但需要跟web开发解说接口使用的出入参数含义
http://atlas.apache.org/api/v2/index.html
- 数据分类
atlas中有两套分类体系: classification / glossary
-
classification
演示,为一张hive的表分配类别


创建完类别定义后,就可以在类别名称列表中看到

在类别体系创建好之后,就可以为我们的数据资产分配类别了
一个数据资产,可以被分配到多个classification类别;
有了类别体系后,就可以方便地通过类别,查找该类别下的所有数据资产
可以视为,这些类别和分类,就是对数据库和数据表打标签,方便做数据查询和筛选,管理 -
glossary

可以在glossary列表中看到创建的结果

在创建好的glossay(词汇)中添加term(词)
创建后查看结果

glossay创建后,就可以为数据资产打上glossay标记

数据资产被分配了glossary和term之后,就可以按照term来搜索了

-
数据搜索

查询条件有
Type、Classification、Term、Text。还可以保存常用的查询条件组合。
basic search示例:

-
高级搜索
高级搜索,就是用DSL语法,来自己创建灵活的搜索条件

注意,官方这里有文档告诉如何使用高级搜索,照着使用即可

更多关于atlas DSL搜索语法,请参考官方手册 http://atlas.apache.org/#/SearchAdvance -
血统
Atlas WebUI 搜索到某个表后,可以看到这个表的Lineage

其实血统的概念和spark中的血统概念一样,其实就是数据之间的关系。
如hive中,数据是来资源表和表之间的怎样处理的结果,表和表数据之间的关系。
如hive中:
insert into table t_c
select id,name,age
from t_a where id>2;

3. 自定义API
- 手册介绍

atlas的restapi,官方提供了一个在线试用工具

- shell调用案例(curl)

- 查看Atlas Metadata Server节点状态
curl -s -u admin:admin "http://doit33:21000/api/atlas/admin/status"
ACTIVE:此实例处于活跃状态,可以响应用户请求。
PASSIVE:此实例处于被动状态。它会将收到的任何用户请求重定向到当前ACTIVE实例。
BECOMING_ACTIVE:此实例正在转换为ACTIVE实例,在此状态下无法为用户提供请求服务。
BECOMING_PASSIVE:此实例正在转换为PASSIVE实例,在此状态下无法为用户提供请求服务。
- 查看Atlas版本和描述 GET /admin/version
url -s -u admin:admin "http://doit33:21000/api/atlas/admin/version"
- 基本搜索 GET /v2/search/basic
curl -s -u admin:admin "http://doit33:21000/api/atlas/v2/search/basic?typeName=hive_table"
- postman
整体和curl类似,不过有了ui图形化界面



注意,如果对接口有疑问,可以使用现有网页调用接口,观察一下必须要的参数和返回数据结构


448



被折叠的 条评论
为什么被折叠?



