基于 Datahub +Redshift 自动生成字段级血缘

基于 Datahub +Redshift 自动生成字段级血缘

💡 原文中文,约17800字,阅读约需43分钟。
📝

内容提要

随着企业数据的增长,Amazon Redshift成为数据分析的重要工具。数据血缘关系的追踪对企业至关重要,有助于影响分析、问题排查和合规审计。本文介绍了一种基于DataHub和SQLLineage的改进方案,通过Lambda函数实现轻量级的元数据和血缘关系管理,支持多种计算引擎,具备良好的扩展性和低运维成本。

🎯

关键要点

  • 随着企业数据规模的快速增长,Amazon Redshift成为数据分析的重要工具。
  • 数据血缘关系的追踪对企业至关重要,有助于影响分析、问题排查和合规审计。
  • 本文介绍了一种基于DataHub和SQLLineage的改进方案,通过Lambda函数实现轻量级的元数据和血缘关系管理。
  • 该方案支持多种计算引擎,具备良好的扩展性和低运维成本。
  • DataHub作为开源元数据平台,为Redshift提供了轻量级的血缘管理方案,但存在解析不稳定等问题。
  • 方案中引入SQLLineage工具,通过Lambda实现无服务器模式的SQL解析和字段级血缘关系生成。
  • 自动获取Redshift的数仓SQL是关键挑战之一,使用SYS_QUERY_HISTORY系统表增量读取INSERT SQL。
  • 生成字段级血缘关系需要获取表的Schema信息,以确保解析的准确性。
  • DataHub提供Python API用于构造元数据并发送到DataHub。
  • 方案具备良好的扩展性,能够支持Hive/Spark/Flink等其他计算引擎。
  • 部署方案包括使用Docker Compose搭建DataHub Demo和创建Lambda Layer。
  • 创建血缘解析Lambda函数用于解析SQL并生成血缘关系,设置S3触发器以响应SQL文件上传事件。
  • 创建SQL获取Lambda函数用于读取Redshift元数据信息和获取INSERT语句。
  • 完成部署后,通过Demo演示效果,展示生成的列级别血缘关系。
  • 该方案为数据团队提供了实用的数据血缘追踪工具,适合中小型数据团队使用。

延伸问答

什么是数据血缘关系,它的重要性是什么?

数据血缘关系描述了数据在系统中的流动和转化路径,能够帮助企业进行影响分析、问题排查和合规审计。

如何通过DataHub和SQLLineage实现字段级血缘关系的生成?

通过引入SQLLineage工具和使用Lambda函数,可以自动解析SQL并生成字段级血缘关系,最终在DataHub上展示。

该方案的主要优势是什么?

该方案采用无服务器架构,运维成本低,支持精确的字段级血缘追踪,并具有良好的扩展性。

在实现过程中遇到的关键挑战有哪些?

关键挑战包括如何自动获取Redshift的数仓SQL和如何精确生成字段级血缘关系。

如何部署该方案以支持生产环境?

可以使用Docker Compose搭建DataHub Demo,或基于AWS EKS构建正式、稳定、高可用的环境。

该方案适合哪些类型的数据团队使用?

该方案非常适合中小型数据团队使用,提供了实用的数据血缘追踪工具。

➡️

继续阅读