初步学习altas 的血缘关系

  • 了解altas 的血缘关系的作用
    • altas的安装部署
      • 了解官方API
        • 了解apache echars

了解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.csdn.net/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,"qualifiedName":"testdb.p_people@primary","name":"p_people2"},"guid":"2e7c70e1-5a8a-4430-859f-c46d267e33fd","status":"ACTIVE","displayText":"p_people","classificationNames":["people"],"meaningNames":[],"meanings":[]},"2b65eb7f-596e-48f0-a94d-240e56a4da93":{"typeName":"Process","attributes":{"owner":"root","qualifiedName":"people@process@mysql://192.168.1.1:3306","name":"peopleProcess","description":"people Process"},"guid":"2b65eb7f-596e-48f0-a94d-240e56a4da93","status":"ACTIVE","displayText":"peopleProcess","classificationNames":[],"meaningNames":[],"meanings":[]},"01d12e5f-1ef5-46a8-ac13-29be71e8f78e":{"typeName":"hive_process","attributes":{"qualifiedName":"testdb.p_people_tmp2@primary:1588921268000","name":"create table p_people_tmp2 as select peopleid,peopletype,credentialtype,credentialno,peoplename,gender,nation from p_people"},"guid":"01d12e5f-1ef5-46a8-ac13-29be71e8f78e","status":"ACTIVE","displayText":"create table p_people_tmp2 as select peopleid,peopletype,credentialtype,credentialno,peoplename,gender,nation from p_people","classificationNames":["people"],"meaningNames":[],"meanings":[]},"a4ccceb2-a52c-46a2-b4fd-27d26b8aad3f":{"typeName":"hive_table","attributes":{"owner":"hive","createTime":1588921268000,"qualifiedName":"testdb.p_people_tmp2@primary","name":"p_people_tmp2"},"guid":"a4ccceb2-a52c-46a2-b4fd-27d26b8aad3f","status":"ACTIVE","displayText":"p_people_tmp2","classificationNames":["people"],"meaningNames":[],"meanings":[]}},"relations":[{   "fromEntityId":"01d12e5f-1ef5-46a8-ac13-29be71e8f78e",               //create table"toEntityId":"a4ccceb2-a52c-46a2-b4fd-27d26b8aad3f",              //p_people_tmp2"relationshipId":"148cc83d-5b67-4174-91e4-767509483e13"},{  "fromEntityId":"2e7c70e1-5a8a-4430-859f-c46d267e33fd",               //p_people2"toEntityId":"01d12e5f-1ef5-46a8-ac13-29be71e8f78e",                 // //create table"relationshipId":"eb768346-d32a-40f9-bf04-d23abbcc3221"},{    "fromEntityId":"2b65eb7f-596e-48f0-a94d-240e56a4da93",              //peopleProcess"toEntityId":"2e7c70e1-5a8a-4430-859f-c46d267e33fd",             //p_people2"relationshipId":"bea47efd-2645-4d8a-ba6b-8f4ef9bb7316"},{   "fromEntityId":"5a676b74-e058-4e81-bcf8-42d73f4c1729",              //p_people1"toEntityId":"2b65eb7f-596e-48f0-a94d-240e56a4da93",             //peopleProcess"relationshipId":"517db5b7-f537-4e66-97f1-33c2863fb440"}]}

通过分析这个json,我发现了两个重要的地方,这里结合给出的血缘图比较直观!
发现每一个guid下有一个name,对应着上图一个步骤,ralations描述了它们之间的联系,这不就串起来了嘛,那么我要怎么把这个关系用图形表达出来呢?

了解apache echars

altas源码并不是用的这种方式,貌似是用的图数据库,我也在测试这种方式是否可行。
链接: https://echarts.apache.org/zh/index.html.
大家可以了解一下,比较容易上手。
我在示例图上找到了关系图,然后对代码进行对应调整,这是不是跟atlas的血缘关系类似了,后续再考虑其他问题,比如图标,代码如下,可直接贴上测试。

option = {title: {text: 'Graph 简单示例'},tooltip: {},animationDurationUpdate: 1500,animationEasingUpdate: 'quinticInOut',series: [{type: 'graph',layout: 'none',xAxisIndex : 0, //x轴坐标 有多种坐标系轴坐标选项yAxisIndex : 0, //y轴坐标 symbolSize: 50,roam: true,label: {show: true},edgeSymbol: ['circle', 'arrow'],edgeSymbolSize: [4, 10],edgeLabel: {fontSize: 20},data: [ {name: 'p_people1',x:0,y: 0}, {name: 'p_people2',x:-50,y:50}, {name: 'peopleProcess',x:-50,y:-50},{name: 'create table',x: 50,y: 0},{name: 'p_people_tmp2',x: 50,y: 0},],// links: [],links: [{source: 'create table',target: 'p_people_tmp2',label: {// show: true},lineStyle: {curveness: -0.2}}, {source: 'p_people2',target: 'create table',lineStyle: {curveness: 0}}, {source: 'peopleProcess',target: 'p_people2',lineStyle: {curveness: 0.2}}, {source: 'p_people1',target: 'peopleProcess',lineStyle: {curveness: 0}}],lineStyle: {opacity: 0.9,width: 2,}}]
};

基本的雏形已经出来了,浏览器调用接口,再用echars 实现图形化,最后再强调一次,调用接口需要权限,已经测试过java代码和postman,请参考:链接:
https://blog.csdn.net/qq_43185247/article/details/116200436?spm=1001.2014.3001.5502
感谢,第二次写博客

了解apache atlas的血缘关系相关推荐

  1. Apache Atlas精讲:由浅入深,从概念,原理,使用,到自定义数据模型,生成血缘关系,带你玩转Atlas

    文章目录 引言 Atlas 原理及相关概念 Altas 使用 Atlas Rest Api 详解及示例 结语 引言 Apache Atlas 是托管于 Apache 旗下的一款元数据管理和治理的产品, ...

  2. Apache Atlas 数据治理-血缘关系工具

    前言: 部门业务数据治理中字段血缘关系的实现,平台使用了工具Apache Atlas,简单查了些内容对自己进行科普,后续再深入 以下摘自文章: 参考文章:https://blog.csdn.net/u ...

  3. Apache Atlas血缘依赖管理

    1.创建三张表 CREATE TABLE IF NOT EXISTS billdb.user_name(user_code STRING comment '客户代码', user_name STRIN ...

  4. 使用 Apache Atlas 进行数据治理

    本文由 网易云发布. 作者:网易/刘勋(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 面对海量且持续增加的各式各样的数据对象,你是否有信心知道哪些数据从哪里来以及它如何随时间而变化?采用 ...

  5. 搜狐 Hive SQL 血缘关系解析与应用

    1. 研究背景 随着企业信息化和业务的发展,数据资产日益庞大,数据仓库构建越来越复杂,在数仓构建的过程中,常遇到数据溯源困难,数据模型修改导致业务分析困难等难题,此类问题主要是由于数据血缘分析不足造成 ...

  6. Apache atlas使用说明(UI功能详解)

    稍微修改了下,增添了内容.基本上是看着官方文档,和查询资料自己总结出来的.也没有什么高深的东西就atlas的一些基本使用,以及web页面的一些操作.如果有什么错误欢迎指正. ** 1Atlas基本说明 ...

  7. apache atlas

    文章目录 环境 概述 特性 元数据类型和实例 分类 血缘 搜索 / 发现 安全与数据屏蔽 快速开始 安装 & 编译 Installing Apache Atlas 介绍 运行例子 仪表盘 AP ...

  8. Apache Atlas 安装部署

    Apache Atlas 安装部署 1.Atlas 原理及相关概念 2.安装前置条件 3.安装Hbase 4.安装Solr 5.安装kafka 6.编译Atlas 7.安装Atlas 8.集成hive ...

  9. apache atlas 案例_元数据治理 Apache Atlas

    Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括 数据分类.集中策略引擎.数据血缘.安全和生命周期管理在内的元数据治 ...

最新文章

  1. 国庆双节长假旅游出行必装的手机软件
  2. 用ffmpeg把H264数据流解码成YUV420P
  3. 工欲善其事,必先利其器 _SUBLIME TEXT 3_使用心得(上篇)
  4. java的多态性学习代码
  5. 【CyberSecurityLearning 36】靶场环境搭建(ubuntu系统安装优化及vulhub安装)
  6. bzoj4027,[HEOI2015]兔子与樱花
  7. Java——集合(练习题)
  8. JavaScript代码规范和性能整理
  9. bat处理中的管道[|]
  10. iOS 常见的JS与iOS交互的需求与解决方案
  11. 利用fidder发送request
  12. 2021-4月最全停词表(1893个),速取
  13. java 实现阿里云邮箱的发送
  14. TeamViewer 可信设备的信任管理
  15. 数据存储---内存列式数据库KDB+(Q)文档
  16. 【U8+】修改或删除凭证提示此分录两清
  17. Qt蓝牙:QBluetoothDeviceInfo、QBluetoothAddress
  18. SSLOJ 1459.空间简单度【扫描线】【线段树】
  19. IIS的配置和网站发布
  20. 如何自学黑客?自学黑客技术需要学多久?

热门文章

  1. canal -kafka快速实践
  2. 4.2GHz四核安装Windows 98
  3. 计算机等级证书分为几级,考试条件有哪些?
  4. 盟固利创业板IPO过会:拟募资7亿 年营收32亿
  5. 互联网创业是怎样的?
  6. php javaee,javaee与php的区别是什么
  7. 谷歌浏览器插件增强版
  8. linux如何在网关里添加路由表,Linux下配置路由表
  9. rados 命令行函数 调试 ceph python
  10. 【强烈推荐】Java主函数入口,此篇文章极短极细,慎入