Fork me on GitHub

数据仓库学习系列-血缘关系

目录

  • 背景
  • 第一部分 Spark内存管理详解
  • 第二部分 Spark参数说明
  • 第三部分 Spark内存优化
  • 第四部分 常见线上问题解决
  • 参考文献及资料

背景

血缘分析是一种技术手段,用于对数据处理过程的全面追踪,从而找到某个数据对象为起点的所有相关元数据对象以及这些元数据对象之间的关系。元数据对象之间的关系特指表示这些元数据对象的数据流输入输出关系。在元数据管理系统成型后,我们便可以通过血缘分析来对数据仓库中的数据健康、数据分布、集中度、数据热度等进行分析。

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

https://cloud.tencent.com/developer/article/1876878

魔改hive实现:https://www.i4k.xyz/article/qq_44962075/106945827

第一部分 atlas开源项目

Apache Atlas 是 Apache 基金会的孵化项目,是 Hadoop 生态圈的数据治理和元数据框架。Atlas 是一套核心基础治理服务的集合,有很好的伸缩性和可扩展性,能够满足企业对 Hadoop 生态系统的多样性需求,并能和企业的数据生态系统集成。它为 Hadoop 集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。

但 atlas 的缺点是:只能对 hadoop 的元数据进行管理(虽然也是连的 Mysql ),对传统数据库的支持力度非常小;同时血缘分析也只支持特定的数据库。

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

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

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

元数据管理在数据仓库的实践应用
https://blog.51cto.com/wang/4186308

https://atlas.apache.org/#/HookHive

https://www.csdn.net/tags/MtTaMg4sMDE5OTgyLWJsb2cO0O0O.html

源码分析:https://www.1024sou.com/article/27372.html

https://aws.amazon.com/cn/blogs/china/apache-atlas-data-bloodline/

其他数据库的自定义方法:https://github.com/picomy/manually-catch-data-for-atlas

另一个产品:

https://absaoss.github.io/spline/

参考文献及资料

1、数据治理对运维数据体系的思考与启发,链接:http://blog.itpub.net/69994525/viewspace-2762789/

本文标题:数据仓库学习系列-血缘关系

文章作者:rong xiang

发布时间:2022年04月20日 - 13:04

最后更新:2022年10月25日 - 23:10

原始链接:https://zjrongxiang.github.io/posts/cfe47c71/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%