前言:
部门业务数据治理中字段血缘关系的实现,平台使用了工具Apache Atlas,简单查了些内容对自己进行科普,后续再深入

以下摘自文章:
参考文章:

一 Atlas是什么?
Atlas是由Hadoop发行商HortonWorks公司2015贡献给Apache基金组织的一款面向Hadoop生态圈的数据溯源工具。主要用于监控Apache Hive、Apache Hbase、Apache Kafka、Apache Storm的元数据变更,并会自动生成数据流动图,通过UI的Web界面展示给用户。

二 在企业的数据资产中,通过数据血缘,我们能够解决以下几个场景的问题:
1、快速了解到一张业务报表来源于那几个系统、来源于哪几张表。
2、快速洞察到这张业务报表经过了几个步骤生成的。
3、在数据仓库中,能快速判断一张ODS层的源表数据会流动到下游哪些DW、DM层数据表内。如果改动这张源表,会影响到哪些下游数据、哪些业务报表。
4、在生产环境中,如果有一张数据表出现错误,通过数据血缘图,可以快速知晓,数据错误来源于前面哪个环节、可能会影响到后面哪个环节。
5、通过分析数据血缘图的关键节点(即图中节点入度、出度较高的节点),我们能更好的总结出哪些业务数据是被经常用到的、是关键性的,更好的编排节点间的调度工作流,优化计算资源。

三 Atlas的数据溯源功能介绍
Atlas主要针对与Hadoop旗下的数据产品进行数据溯源。
Apache Hive等应用在产生元数据变化(比如新增表、新增字段)和数据流动(比如Insert into)的时候,通过钩子的方式主动告知Atlas更新数据血缘图。

四 Atlas是如何实现数据溯源的?

Atlas主要通过Hook方式让Hive将元数据信息通过Apache Kafka传送过来。
Atlas使用了JanusGraph[2]做图数据存储引擎。借助JanusGraph,数据血缘关系主要通过图的形式进行存储在Hbase中,每个节点的详细信息存储在Solr中。
除了前端UI,Atlas还支持第三方应用通过API、Kafka获取数据血缘相关信息。