准备好将数据蔓延转化为清晰明了吗?DataHub——最初在 LinkedIn 创建的开源元数据平台——帮助团队发现、信任和管理跨仓库、BI 工具、编排系统等的数据。在这份实用、循序渐进的指南中,您将从零开始,建立一个可用的 DataHub 实例,摄取元数据,探索血缘关系,并建立治理——而不会迷失在术语中。
您将快速了解到的内容:
- 从常见来源(例如,Snowflake, BigQuery, dbt)摄取元数据
注意:这是一个实用的、以解决方案为导向的演练,旨在映射到实际工作流程。我们将引用官方文档以获取具体信息和更深入的探讨。
- 快速入门:在本地运行 DataHub
如果您正在试验或试用 DataHub,最快的方法是快速入门。首先确保您已安装 Docker。然后:
官方快速入门详细信息、命令和默认值 。简介解释了架构以及 DataHub 为何使用适用于现代堆栈的实时元数据模型(实体、方面和流式更新)。
智能设置技巧:
- 即使您计划稍后转到 Kubernetes,也要先在本地启动。这对于获得认同和演示更快。
- 如果您已经安装了 Docker Desktop,通常会在几分钟内启动。
- 即使在沙箱中也要保证凭据安全。现在养成的习惯以后会有回报。
- 5 分钟了解核心概念
在您摄取任何内容之前,请先熟悉 DataHub 的心智模型:
- 实体:诸如数据集、表、图表、仪表板、管道、用户之类的事物。
- 方面:关于实体的元数据的版本化“方面”(模式、所有权、标签、词汇表术语、血缘关系)。
- 图:关系(血缘关系、所有权、依赖关系)为搜索和发现体验提供支持。
这种基于图的方法支持诸如影响分析(如果我们更改此列会发生什么?)、下游血缘关系映射和信任信号(所有者、标签、文档)之类的功能。简介指南中有一个简洁的概念概述。
- 摄取元数据:UI vs. CLI(选择您的路径)
DataHub 支持用户友好的 UI 摄取和可编写脚本的 CLI 管道。选择适合您当前工作流程的方式——许多团队同时使用这两种方式。
选项 A:基于 UI 的摄取(首次运行速度快)
- 在 UI 中,转到 Ingestion → New Source。
- 选择一个来源(例如,Snowflake, BigQuery, dbt, Kafka, Looker, Tableau)。
UI 流程和步骤 介绍。它非常适合非工程师或想要快速验证连接性的团队。
选项 B:基于 CLI 的摄取(可重复且 CI 友好)
- 创建一个 YAML 配方,定义您的来源、过滤器和映射。
- 运行:datahub ingest -c recipe.yml
CLI 摄取和配方 详细记录。这种方法更适合开发/生产管道、自动化和一致性。
摄取的专业提示:
- 从一两个最重要的来源开始(例如,Snowflake + dbt)。快速获胜可以建立动力。
- 积极过滤。不要在第一天就摄取每个沙箱数据集;它会产生噪音。
- 添加平台实例名称(如 snowflake:prod vs snowflake:dev)以避免混淆。
- 探索 UI:搜索、血缘关系和所有权
一旦您的首次摄取完成,请跳转到 UI 以快速验证价值:
- 通用搜索:按名称、模式、标签或词汇表术语查找数据集、仪表板和管道。
- 血缘关系图:单击进入数据集以查看上游和下游连接。这是影响分析的黄金标准。
- 所有权和文档:添加所有者(团队或用户)并编写清晰的描述。这些是您的组织将感受到的第一个信任信号。
- 模式和分析:查看列名、类型和样本统计信息。尽早发现异常。
- 添加含义:词汇表、标签和域
原始元数据只是一个开始。您将通过分层语义来解锁真正的采用:
- 词汇表术语:定义业务友好的概念(客户、ARR、活跃用户)。附加到数据集/列以标准化语言。
- 标签:轻量级标签(PII、关键、已弃用、黄金)。风险和重要性的快速视觉提示。
- 域:按业务功能(财务、市场营销)或平台对相关资产进行分组。
推荐的第一个分类法:
- 一个小标签集:pii、gold、deprecated、experimental
- 可扩展的治理:策略和访问
DataHub 支持基于角色和资产的策略,因此您可以控制谁可以做什么(编辑文档、添加标签、管理血缘关系等)。从简单开始:
- 创建一个“Stewards”组,该组具有对文档、所有权和标签的编辑权限。
- 让分析师可以读取大多数资产,但限制对敏感域的访问。
- 要求“黄金”数据集的所有者才能使其出现在“热门精选”中。
策略和治理位于平台内部,因此对于编辑者和查看者来说,体验是一致的。随着您的组织成熟,通过更精细的权限和审批流程进行扩展。
- 运营最佳实践:使其保持有效
当元数据程序感觉像是额外的工作时,它们就会失败。使 DataHub 成为正常流程的一部分:
- 嵌入在 PR/CI 中:当数据管道发生更改时,运行元数据摄取并比较模式差异。自动标记重大更改。
- 与 dbt 对齐:使用 dbt 文档、测试和公开;在 DataHub 中显示它们以将代码连接到业务环境。
- 创建一个“采用手册”:所有者在入职期间添加文档、标签和词汇表术语。通过记分卡奖励质量。
- 发布数据合同:对于关键表,定义 SLA、新鲜度、可空性和稳定性规则。在 DataHub 中显示它。
- 基础设施:从本地 Docker 迁移到托管环境(Kubernetes、云服务)。如果您的组织中可用,请考虑托管选项。
- 身份验证/SSO:与您的身份提供商集成(Okta, Azure AD 等)。
- 变更管理:建立元数据审查节奏(例如,每周管理同步)。
- “我看不到我的表。”检查网络规则、凭据和源过滤器。运行最小摄取配方以隔离问题。
- “血缘关系不完整。”确保您已从编排(Airflow)、转换(dbt)和仓库来源摄取。血缘关系通常需要多个连接器。
- “搜索感觉杂乱无章。”收紧过滤器,添加标签/词汇表,并隐藏已弃用的资产。
- “文档已过时。”安排定期摄取;鼓励所有者在代码更改的同时更新描述。
- 使用 UI 摄取从您的仓库(Snowflake/BigQuery)摄取。
- 为 Customer 和 Revenue 创建词汇表术语;将这些数据集标记为 gold。
第 2 天
- 创建一个策略,规定只有管理者才能更改 gold 数据集文档。
- 向利益相关者演示血缘关系视图和搜索体验;收集反馈。
主要参考资料
可以在哪里提供帮助
如果您的团队经常研究最佳实践、编写数据集文档或需要可理解的血缘关系和模式更改摘要,值得注意的是, 可以加速文档编制和知识共享。例如,您可以将密集的模式差异转换为人类可读的更改日志,或者生成管理者可以改进的草稿数据集描述——从而减少从原始元数据到可用上下文的时间。
速查表:您的前 10 个操作
- 将 5 个数据集标记为 gold,并隐藏已弃用的数据集。
下一步是什么?
- 与 CI/CD 集成,以便模式更改始终反映在目录中。
最终要点
- 使用 UI 摄取以提高速度;使用 CLI 以实现可重复性。
- 连接仓库 + dbt + BI 以获得完整的血缘关系。
常见问题解答
Q1:什么是 DataHub,我为什么要使用它?
DataHub 是一个开源元数据平台,用于跨您的数据堆栈进行发现、血缘关系和治理。它可以帮助团队查找受信任的数据集、了解影响并标准化文档。在官方介绍中了解基本知识。
Q2:如何快速安装 DataHub?
使用快速入门:安装 Docker,安装 CLI,然后使用单个命令启动。您可以本地访问 UI 并使用默认值登录以快速验证设置。
Q3:我应该在 DataHub 中使用 UI 摄取还是 CLI 摄取?
使用基于 UI 的摄取快速入门或让非工程师参与;它非常适合首次连接和演示。切换到 CLI 摄取以获取版本化配方、自动化和 CI/CD 集成。
Q4:如何让血缘关系显示在 DataHub 中?
从多个来源摄取:您的仓库(例如,Snowflake),您的转换层(例如,dbt)和编排(例如,Airflow)。当 DataHub 连接这些部分时,血缘关系就会显现出来。
Q5:我应该首先在 DataHub 中启用哪些治理功能?
从所有权、简洁的描述、小型词汇表和一致的标签(如 gold, pii, 和 deprecated)开始。然后添加策略以控制谁可以编辑关键资产并安排定期摄取。