了解apache atlas的血缘关系

这篇具有很好参考价值的文章主要介绍了了解apache atlas的血缘关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

了解altas 的血缘关系的作用

在数据治理环节,需要对表进行溯源,或者对字段进行溯源,简单说 多个表组成一个表时,可以追溯到表中的字段来自具体的哪个表,以后数据进行变动可以通过血缘关系图形直观看出,如下图了解apache atlas的血缘关系

altas的安装部署

本人并没有实践过,这点请参考网上的资料

了解官方API

链接: http://atlas.apache.org/api/v2/index.html.推荐
链接: http://atlas.apache.org/api/v2/application.wadl.
了解apache atlas的血缘关系
了解apache atlas的血缘关系这里详细讲解一下 / 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 这个表的信息,返回得到结果:了解apache atlas的血缘关系 通过调用其他接口,我发现了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,我发现了两个重要的地方,这里结合给出的血缘图比较直观!
了解apache atlas的血缘关系发现每一个guid下有一个name,对应着上图一个步骤,ralations描述了它们之间的联系,这不就串起来了嘛,那么我要怎么把这个关系用图形表达出来呢?

了解apache echars

altas源码并不是用的这种方式,貌似是用的图数据库,我也在测试这种方式是否可行。
链接: https://echarts.apache.org/zh/index.html.
大家可以了解一下,比较容易上手。
了解apache atlas的血缘关系我在示例图上找到了关系图,然后对代码进行对应调整,这是不是跟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
感谢,第二次写博客文章来源地址https://www.toymoban.com/news/detail-400424.html

到了这里,关于了解apache atlas的血缘关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • apache atlas与hive、hbase、spark的集成

    Atlas 的使用相对简单,其主要工作是同步各服务(主要是 Hive)的元数据,并构建元数据实体之间的关联关系,然后对所存储的元数据建立索引,最终未用户提供数据血缘查看及元数据检索等功能。 Atlas 在安装之初,需手动执行一次元数据的全量导入,后续 Atlas 便会利用 H

    2024年02月11日
    浏览(51)
  • APACHE-ATLAS-2.1.0 - 安装HIVE HOOK(六)

    写在前面 本博文以获取HIVE元数据为例,进行流程和源码的分析。 请提前安装好HADOOP和HIVE的环境,用于测试。 ATLAS官网:https://atlas.apache.org/#/HookHive ATLAS支持的元数据源 什么是Hive Hook(钩子) HOOK是一种在处理过程中拦截事件、消息或函数调用的机制,从这种意义上讲, HI

    2024年02月08日
    浏览(42)
  • 支持可视化呈现数据库字段级和血缘关系的工具,太强了吧!

    SQLFlow 可跟踪超过 20 种主要数据库(包括 Snowflake、Hive、SparkSQL、Teradata、Oracle、SQL Server、AWS Redshift、BigQuery 等)的字段级数据血缘。 从查询历史记录、ETL 脚本、Github/Bitbucket、本地文件系统和远程数据库中的 SQL 语法创建和可视化血缘关系。 使用交互式图表或通过 Restful API 或

    2024年02月05日
    浏览(59)
  • 用户案例 | 蜀海供应链基于 Apache DolphinScheduler 的数据表血缘探索与跨大版本升级经验

    蜀海供应链是集销售、研发、采购、生产、品保、仓储、运输、信息、金融为一体的餐饮供应链服务企业。2021年初,蜀海信息技术中心大数据技术研发团队开始测试用DolphinScheduler作为数据中台和各业务产品项目的任务调度系统工具。本文主要分享了蜀海供应链在海豚早期旧

    2024年02月10日
    浏览(42)
  • Apache和Tomcat的关系

    Apache和Tomcat是两个常见的开源软件,它们在Web应用程序开发和部署中扮演不同的角色。         Apache HTTP Server(通常称为Apache)是一个广泛使用的 Web服务器软件 。它提供了一个可靠的、高性能的 HTTP服务器 ,可以处理来自客户端的HTTP请求,并将响应返回给客户端。Apac

    2024年02月06日
    浏览(39)
  • Apache DolphinScheduler:深入了解大数据调度工具

    Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的

    2024年01月22日
    浏览(51)
  • 1分钟了解音频、语音数据和自然语言处理的关系

    音频、语音数据和自然语言处理这三者正在不断促进人工智能技术的发展,人机交互也逐渐渗透进生活的每个角落。在各行各业包括零售业、银行、食品配送服务商)的多样互动中,我们都能通过与某种形式的AI(如聊天机器人或虚拟助手)沟通来实现某些交易活动。语言是

    2024年02月09日
    浏览(51)
  • 带你深入了解Activity,View,Window三者的关系

    Activity、View和Window是Android中三个重要的概念,它们之间存在着紧密的关系。在本文中,我们将详细讨论Activity、View和Window之间的关系,并提供相应的示例代码。 Activity: Activity是Android应用程序的一个组件,它代表着用户界面的一个单独的屏幕。每个Activity都有一个与之关联的

    2024年02月07日
    浏览(59)
  • 一张图了解GPU、CUDA、CUDA toolkit和pytorch的关系

    GPU、Cuda Driver和 Cuda Toolkit的图解关系 省流,简略版本 Nvidia Driver驱动 :操作系统和硬件GPU进行沟通交互的程序,没这个驱动,GPU就是一个摆设,调用不起来,所以得先装这个。装了这个电脑就能用GPU了,但是深度学习搞不定。 CUDA Toolkit工具包 :是基于驱动程序,用来实现

    2024年02月01日
    浏览(43)
  • 【C语言初阶】指针的运算or数组与指针的关系你了解吗?

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,前面给大大家介绍了指针的基础知识。那么这一章就来给大家介绍下一部分内容!    ⛳️ 指针的运算 以及 数组与指

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包