初步学习altas 的血缘关系
了解altas 的血缘关系的作用
在数据治理环节,需要对表进行溯源,或者对字段进行溯源,简单说 多个表组成一个表时,可以追溯到表中的字段来自具体的哪个表,以后数据进行变动可以通过血缘关系图形直观看出,如下图
altas的安装部署
本人并没有实践过,这点请参考网上的资料
了解官方API
链接: http://atlas.apache.org/api/v2/index.html.推荐
链接: http://atlas.apache.org/api/v2/application.wadl.
这里详细讲解一下 / v2 / lineage / {guid} 这个接口,
这里可以看出我们需要一个guid,那么guid怎么获取呢?且域名端口号是什么?完整url:http://{部署的ip}:21000/api/atlas/v2/lineage/{guid}
guid是一个唯一的id,那么我想尝试调用一下不需要参数的接口试试,比如:http://ip:21000/api/atlas/v2/search/basic?query=gdyinfo_new&typeName=hive_table,查询hive_table中的gdyinfo_new 这个表的信息,返回得到结果: 通过调用其他接口,我发现了guid,说明这个guid就是gdyinfo_new的唯一标识,然后我们再回到之前的lineage,把这个guid传进去,这不就是说 我能通过这个接口对这个表进行追溯嘛哈哈哈。
话不多说 我们赶紧试一下,http://ip:21000/api/atlas/v2/lineage/6fa88134-ab3e-4db9-8907-947e4fc17b88(这里atlas会自动跳转到登录页面,需要验证才能调用,我是通过浏览器调用的,先登录,java和postman方法移步至链接:
https://blog.youkuaiyun.com/qq_43185247/article/details/116200436?spm=1001.2014.3001.5502
确实能够调用接口了,返回了一组json数据,我把他保存了下来分析一下:
{
"baseEntityGuid":"01d12e5f-1ef5-46a8-ac13-29be71e8f78e",
"lineageDirection":"BOTH","lineageDepth":3,
"guidEntityMap":{
"5a676b74-e058-4e81-bcf8-42d73f4c1729":
{
"typeName":"rdbms_table",
"attributes":
{
"owner":"root",
"createTime":1577687198000,
"qualifiedName":"testdb.p_people@mysql://192.168.1.1:3306",
"name":"p_people1",
"description":"MySQL数据库表:testdb.p_people"},
"guid":"5a676b74-e058-4e81-bcf8-42d73f4c1729",
"status":"ACTIVE",
"displayText":"p_people",
"classificationNames":[],
"meaningNames":[],
"meanings":[]},
"2e7c70e1-5a8a-4430-859f-c46d267e33fd":
{
"typeName":"hive_table",
"attributes":
{
"owner":"hdfs",
"createTime":1578981817000