The Context Platform for your Data and AI Stack
排名第一的开源 AI 数据目录
企业级元数据平台,助力您在整个数据生态系统中实现数据发现、治理与可观测性
免费云试用 • 快速开始 • 在线演示 • 文档 • Slack 社区 • YouTube
借助 DataHub 的统一元数据平台,轻松搜索、发现并理解您的数据
📊 全新:开源分析智能体
基于你的 DataHub 目录构建的开源智能体。采用 Apache 2.0 许可证。可自带 LLM。
快速开始:
git clone https://github.com/datahub-project/analytics-agent.git
cd analytics-agent && bash quickstart.sh
正在使用 AI 编程助手? 通过 模型上下文协议 将 Cursor、Claude Desktop 或 Cline 直接连接到 DataHub:
npx -y @acryldata/mcp-server-datahub init
什么是 DataHub?
🔍 在找对的 DataHub? 这里是位于 datahub.com 的开源元数据平台(GitHub: datahub-project/datahub)。它之前托管在
datahubproject.io,该域名现已重定向至 datahub.com。本项目与 datahub.io 无关,后者是一个独立的公共数据集托管服务。请参阅下方的 FAQ。
DataHub 是排名第一的开源 AI 数据目录,可在整个数据生态系统中实现发现、治理和可观测性。DataHub 最初由 LinkedIn 打造,如今为全球数千家组织提供数据发现能力,管理着数百万数据资产。
挑战: 现代数据栈分散在数十种工具中——数据仓库、数据湖、BI 平台、机器学习系统、AI 代理、编排引擎。找到正确的数据、理解其血缘关系并确保治理合规,就像蒙着眼睛在迷宫中摸索。
DataHub 的解决方案: DataHub 充当数据栈的中枢神经系统——通过实时流式或批量摄入连接所有工具,构建统一的元数据图谱。与静态目录不同,DataHub 让您的元数据始终保持新鲜且可操作——同时赋能人类团队和 AI 代理。

为什么选择 DataHub?
- 🚀 久经大规模实战考验: 诞生于 LinkedIn 以应对超大规模数据,现已在全球数千家组织中得到验证,管理着数百万数据资产
- ⚡ 实时流式处理: 元数据在数秒内更新,而非数小时或数天
- 🤖 AI 就绪: 通过 MCP 原生支持 AI 代理、LLM 集成和上下文管理
- 🔌 领先的摄入架构: 灵活的推/拉框架(已被其他目录广泛采用),拥有 80+ 生产级连接器,可提取深度元数据——列级血缘、使用统计、数据剖析和质量指标
- 👨💻 开发者优先: 丰富的 API(GraphQL、OpenAPI)、Python + Java SDK、CLI 工具
- 🏢 企业级就绪: 久经考验的安全、认证、授权和审计追踪
- 🌍 开源: Apache 2.0 许可证,厂商中立,社区驱动
🧠 上下文基础
现代数据团队与可靠AI代理的必备基石:
- 上下文管理是Agentic AI拼图中缺失的那一块 — 为何上下文管理对于大规模部署可靠的AI代理至关重要
- 数据血缘:它是什么,为何重要 — 理解数据在组织中流动的地图
- 什么是元数据管理? — 面向企业数据领导者的全面指南
📑 目录
❓ 常见问题
这与datahub.io是同一个项目吗?
不是。datahub.io 是一个完全独立的项目——一个公共数据集托管服务,与本项目没有任何关联。DataHub(本项目)是一个开源的元数据平台,用于数据发现、治理和可观测性,托管于 datahub.com,并在 github.com/datahub-project/datahub 上进行开发。
datahubproject.io发生了什么?
DataHub此前托管在 datahubproject.io 域名下。该域名现在重定向至 datahub.com。所有文档已迁移至 docs.datahub.com。如果你在博客文章或教程中看到 datahubproject.io 的引用,它们指向的是同一个项目——只是使用了旧域名。
DataHub与LinkedIn内部的DataHub有关联吗?
有关。DataHub最初在LinkedIn内部构建,用于在其数据生态系统中大规模管理元数据。LinkedIn于2020年将DataHub开源。此后,它已发展成为一个独立的社区项目,隶属于 datahub-project GitHub组织,目前托管于 datahub.com。
如何安装DataHub元数据平台?
</需要翻译的内容>
# macOS / Linux (simplest)
brew install datahub-project/tap/datahub
# Or via pip (any platform)
pip install acryl-datahub
datahub docker quickstart
有关完整说明,请参阅下方快速开始部分。PyPI 包名为 acryl-datahub;Homebrew tap 为 datahub-project/homebrew-tap。
🎨 一览 DataHub 实际效果
🔍 通用搜索 |
📊 列级血缘 |
📋 丰富的数据集画像 |
🏛️ 治理仪表盘 |
▶️ 观看 DataHub 实操演示:
- YouTube 频道(YouTube)
- 体验在线演示(无需安装)
🚀 快速开始
方案一:试用托管演示(最快)
无需安装,即刻探索一个内置示例数据的完整 DataHub 实例:
选项二:本地运行(推荐)
在不到两分钟内,让 DataHub 在您的机器上运行起来。
前提条件: 已安装 Docker Desktop,并分配 8GB 以上内存。
使用 Homebrew(macOS / Linux)或 pip 安装 DataHub CLI:
# Homebrew (macOS / Linux)
brew install datahub-project/tap/datahub
# Or pip (any platform)
python3 -m pip install --upgrade pip wheel setuptools
python3 -m pip install --upgrade acryl-datahub
然后通过Docker在本地启动DataHub:
datahub docker quickstart
# Access DataHub at http://localhost:9002
# Default credentials: datahub / datahub
注意: 对于 pip,您也可以使用 uv 或其他 Python 包管理器。
包含内容:
- ✅ 完整技术栈: GMS 后端、React 前端、Elasticsearch、MySQL 和 Kafka。
- ✅ 示例数据: 预加载的数据集、数据血缘和所有者信息,方便您探索。
- ✅ 即接即用: 已完全准备好连接您本地或云端的自有数据源。
选项三:从源码运行(适用于贡献者)
最适合希望修改核心代码库或直接从仓库运行的高级用户:
# Clone the repository
git clone https://github.com/datahub-project/datahub.git
cd datahub
# One-time setup (Python CLI + dev tooling)
scripts/dev/datahub-dev.sh setup
# Start DataHub (Gradle profiles under docker/profiles)
scripts/dev/datahub-dev.sh start
# Access DataHub at http://localhost:9002
# Default credentials: datahub / datahub
后续步骤
📦 安装选项
DataHub 支持三种部署模式:
- 托管 SaaS(DataHub Cloud) — 零基础设施、SLA 保障、企业级就绪
- 通过 Docker 自托管 — 适合开发环境和小型团队
- Kubernetes(Helm) — 推荐用于生产环境的自托管部署
→ 查看所有部署指南(AWS、Azure、GCP、环境变量)
🏗️ 架构概览
- ✅ 流式优先: 通过 Kafka 实现实时元数据更新
- ✅ API 优先: 所有功能均可通过 API 访问
- ✅ 可扩展: 插件架构支持自定义实体类型
- ✅ 可伸缩: 已在 LinkedIn 及其他公司的生产环境中验证,可支撑 1000 万+ 资产和 10 亿级关系
- ✅ 云原生: 专为 Kubernetes 部署设计
💻 用例与示例
示例 1:从 Snowflake 摄取元数据
用例: 从 Snowflake 数据仓库中提取表元数据、列架构和使用统计信息。
前提条件:
- 已运行的 DataHub 实例(本地或远程)
- 具有只读权限的 Snowflake 账户
- 已安装 DataHub CLI(
pip install 'acryl-datahub[snowflake]')
# snowflake_recipe.yml
source:
type: snowflake
config:
# Connection details
account_id: "xy12345.us-east-1"
warehouse: "COMPUTE_WH"
username: "${SNOWFLAKE_USER}"
password: "${SNOWFLAKE_PASSWORD}"
# Optional: Filter specific databases
database_pattern:
allow:
- "ANALYTICS_DB"
- "MARKETING_DB"
sink:
type: datahub-rest
config:
server: "http://localhost:8080"
# Run ingestion
datahub ingest -c snowflake_recipe.yml
# Expected output:
# ✓ Connecting to Snowflake...
# ✓ Discovered 150 tables in ANALYTICS_DB
# ✓ Discovered 75 tables in MARKETING_DB
# ✓ Ingesting metadata...
# ✓ Successfully ingested 225 datasets to DataHub
摄取内容:
- 表及视图结构(列、数据类型、描述)
- 表统计信息(行数、大小、最后修改时间)
- 血缘信息(上游/下游表)
- 使用统计(查询频率、热门用户)
示例 2:通过 Python SDK 搜索数据集
使用场景: 以编程方式搜索 DataHub 目录并检索数据集元数据。
前提条件:
- 可访问的 DataHub 实例
- 已安装 Python 3.8 及以上版本
- 已安装 DataHub Python 包(
pip install 'acryl-datahub[datahub-rest]')
from datahub.ingestion.graph.client import DatahubClientConfig, DataHubGraph
# Initialize DataHub client
config = DatahubClientConfig(server="http://localhost:8080")
graph = DataHubGraph(config)
# Search for datasets containing "customer"
urns = graph.get_urns_by_filter(
entity_types=["dataset"],
query="customer",
)
for urn in urns:
print(f"Found: {urn}")
# Example output:
# Found: urn:li:dataset:(urn:li:dataPlatform:snowflake,analytics.customer_profiles,PROD)
# Found: urn:li:dataset:(urn:li:dataPlatform:bigquery,marketing.customer_segments,PROD)
响应格式: 每个结果均为唯一标识数据集的URN字符串。使用该URN可通过GraphQL或REST API获取完整元数据。
示例3:通过GraphQL查询数据血缘
使用场景: 检索特定数据集的上游与下游依赖关系。
前提条件:
- DataHub GMS端点可访问
- 数据集URN可通过搜索或数据接入获取
GraphQL查询:
query GetLineage {
dataset(
urn: "urn:li:dataset:(urn:li:dataPlatform:snowflake,analytics.customer_profiles,PROD)"
) {
# Get upstream dependencies (source tables)
upstream: lineage(input: { direction: UPSTREAM }) {
entities {
urn
... on Dataset {
name
platform {
name
}
}
}
}
# Get downstream dependencies (consuming tables/dashboards)
downstream: lineage(input: { direction: DOWNSTREAM }) {
entities {
urn
type
... on Dataset {
name
platform {
name
}
}
... on Dashboard {
dashboardId
tool
}
}
}
}
}
通过 cURL 执行:
curl -X POST http://localhost:8080/api/graphql \
-H "Content-Type: application/json" \
-d '{"query": "query GetLineage { ... }"}'
响应结构:
upstream:输入到该数据集的数组downstream:消费该数据集的数据集、仪表板或机器学习模型的数组- 每个实体包含URN、类型和基本元数据
示例4:通过Python API添加文档
使用场景: 以编程方式添加或更新数据集文档及自定义属性。
前提条件:
- 已安装DataHub Python SDK
- 对DataHub实例具有写入权限
- 数据集已存在于DataHub中(通过数据摄取)
from datahub.metadata.schema_classes import DatasetPropertiesClass
from datahub.emitter.mce_builder import make_dataset_urn
from datahub.emitter.rest_emitter import DatahubRestEmitter
# Create emitter to send metadata to DataHub
emitter = DatahubRestEmitter("http://localhost:8080")
# Create dataset URN (unique identifier)
dataset_urn = make_dataset_urn(
platform="snowflake",
name="analytics.customer_profiles",
env="PROD"
)
# Define dataset properties
properties = DatasetPropertiesClass(
description="""
Customer profiles aggregated from CRM and transaction data.
**Update Schedule:** Updated nightly via Airflow DAG `customer_profile_etl`
**Data Retention:** 7 years for compliance
**Owner:** Data Platform Team
""",
customProperties={
"owner_team": "data-platform",
"update_frequency": "daily",
"data_sensitivity": "PII",
"upstream_dag": "customer_profile_etl",
"business_domain": "customer_analytics"
}
)
# Emit metadata to DataHub
emitter.emit_mcp(
entityUrn=dataset_urn,
aspectName="datasetProperties",
aspect=properties
)
print(f"✓ Successfully updated documentation for {dataset_urn}")
功能说明:
- 在 DataHub 界面中添加富文本 Markdown 文档
- 为治理与发现设置自定义属性
- 使数据集可通过自定义属性值进行搜索
- 支持过滤搜索(例如,“显示所有 PII 数据集”)
示例 5:通过 Model Context Protocol 连接 AI 编程助手
应用场景: 使 AI 代理(Cursor、Claude Desktop、Cline)能够直接从您的 IDE 或开发环境中查询 DataHub 元数据。
前置条件:
- DataHub 实例已运行且可访问
- 已安装兼容 MCP 的 AI 工具(Cursor、Claude Desktop、Cline 等)
- 已安装 Node.js 18 或更高版本
快速配置:
# Initialize MCP server for DataHub
npx -y @acryldata/mcp-server-datahub init
# Follow the interactive prompts to configure:
# - DataHub GMS endpoint (e.g., http://localhost:8080)
# - Authentication token (if required)
# - MCP server settings
配置您的 AI 工具:
对于 Claude Desktop,请添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"datahub": {
"command": "npx",
"args": ["-y", "@acryldata/mcp-server-datahub"]
}
}
}
对于 Cursor,可在 设置 → 功能 → MCP 服务器 中进行配置
你可以向 AI 询问的内容:
- "生产环境中哪些数据集包含客户 PII?"
- "显示 analytics.revenue_table 的血缘关系"
- "Looker 中 'Revenue Dashboard' 的所有者是谁?"
- "查找 marketing 域中的所有数据集"
- "user_events 表的 schema 是什么?"
- "列出标记为 'critical' 或 'sensitive' 的数据集"
示例对话:
You: "What datasets are owned by the data-platform team?"
AI: Based on DataHub metadata, here are the datasets owned by data-platform:
- urn:li:dataset:(urn:li:dataPlatform:snowflake,analytics.customer_profiles,PROD)
Name: customer_profiles
Platform: Snowflake
Description: Aggregated customer data from CRM and transactions
- urn:li:dataset:(urn:li:dataPlatform:bigquery,marketing.campaign_performance,PROD)
Name: campaign_performance
Platform: BigQuery
Description: Marketing campaign metrics and ROI tracking
[... more results]
优势:
- ✅ 无需离开 IDE 即可查询元数据
- ✅ 自然语言界面(无需 SQL/GraphQL)
- ✅ 实时访问 DataHub 的元数据图谱
- ✅ 编码时即可理解数据上下文
- ✅ 发现与任务相关的数据集
📖 完整文档: DataHub 的 MCP 服务器
常见用例
| 用例 | 描述 | 了解更多 |
|---|---|---|
| 🔍 数据发现 | 帮助用户为分析和机器学习找到合适的数据 | 指南 |
| 📊 影响分析 | 在做出更改之前了解下游影响 | 血缘文档 |
| 🏛️ 数据治理 | 强制执行策略、对 PII 进行分类、管理访问权限 | 治理指南 |
| 🔔 数据质量 | 监控数据新鲜度、数据量、 schema 变更 | 质量检查 |
| 📚 文档管理 | 集中管理数据文档和知识 | 文档功能 |
| 👥 协作 | 通过讨论和所有权培养数据文化 | 协作 |
📝 DataHub 实战
了解在生产环境中使用 DataHub 的团队经验,获取实用指导:
🏆 来自一线的实践最佳实践来自 Grab、Slack 和 Checkout.com 等大规模数据管理团队的真实元数据策略。 案例研究 |
📋 数据契约:如何使用在生产者和消费者之间实施数据契约的实用指南,以确保数据质量和责任明确。 实施指南 |
🤖 Block 如何利用 DataHub 赋能 AI 代理真实案例研究:使用 MCP 在 50+ 平台上扩展数据治理和 AI 运营。 AI 案例研究 |
🏢 深受行业领导者信赖
全球超过3,000家企业在生产环境中运行DataHub——涵盖开源部署与DataHub Cloud两种形态——从超大规模科技公司到受监管的金融机构和医疗服务提供商,不一而足。
按行业划分
🛒 电商与零售: Etsy • Experius • Klarna • LinkedIn • MediaMarkt Saturn • Uphold • Wealthsimple • Wolt
🏥 医疗与生命科学: CVS Health • IOMED • Optum
✈️ 旅行与运输: Cabify • DFDS • Expedia Group • Hurb • Peloton • Viasat
📚 教育与教育科技: ClassDojo • Coursera • Udemy
💰 金融服务: Banksalad • Block • Chime • FIS • Funding Circle • GEICO • Inter&Co • N26 • Santander • 上海华瑞银行 • Stash • Visa
🎮 游戏、娱乐与流媒体: Netflix • Razer • Showroomprive • TypeForm • UKEN Games • Zynga
🚀 科技与SaaS: Adevinta • Apple • Digital Turbine • DPG Media • Foursquare • Geotab • HashiCorp • hipages • inovex • KPN • Miro • MYOB • Notion • Okta • Rippling • Saxo Bank • Slack • ThoughtWorks • Twilio • Wikimedia • WP Engine
📊 数据与分析: ABLY • DefinedCrowd • Grofers • 海博科技 • Moloco • PITS Global Data Recovery Services • SpotHero
此外还有数千家使用DataHub Core和DataHub Cloud的企业。
精选客户案例
- 📰 Optum: 通过DataHub实现数据网格
- 🏦 Saxo Bank: 在数据网格中实现数据发现
- 🚗 SpotHero: 规模化数据可发现性
正在使用DataHub? 如果我们遗漏了您的组织,欢迎随时将贵公司添加到列表中——提交一个PR,或在Slack上告诉我们。
🌐 DataHub生态系统
DataHub是丰富工具与集成生态系统的重要组成部分。
官方代码库
| 代码库 | 描述 | 链接 |
|---|---|---|
| datahub | 核心平台:元数据模型、服务、连接器及 Web 界面 | 文档 |
| datahub-actions | 用于实时响应元数据变化的框架 | 指南 |
| datahub-helm | 适用于 Kubernetes 部署的生产级 Helm Charts | Charts |
| static-assets | DataHub 的标识、图片及品牌资源 | - |
社区插件与集成
| 项目 | 描述 | 维护者 |
|---|---|---|
| datahub-tools | 用于 GraphQL 端点交互的 Python 工具 | Notion |
| dbt-impact-action | 用于 dbt 变更影响分析的 GitHub Action | Acryl Data |
| business-glossary-sync-action | 通过 GitHub PR 同步业务术语表 | Acryl Data |
| mcp-server-datahub | 面向 AI 集成的模型上下文协议(MCP)服务器 | Acryl Data |
| meta-world | 配方、自定义数据源及数据转换 | 社区 |
按类别分类的集成
📊 BI 与数据分析: Tableau • Looker • Power BI • Superset • Metabase • Mode • Redash
🗄️ 数据仓库: Snowflake • BigQuery • Redshift • Databricks • Synapse • ClickHouse
🔄 数据编排: Airflow • dbt • Dagster • Prefect • Luigi
🤖 机器学习平台: SageMaker • MLflow • Feast • Kubeflow • Weights & Biases
🔗 数据集成: Fivetran • Airbyte • Stitch • Matillion
💬 社区与支持
加入成千上万使用 DataHub 构建数据生态的数据从业者!
🗓️ 线上交流会
每月社区例会,包含路线图更新、现场演示和用户案例分享。
- 🎟️ 报名参加下一次交流会
- 📺 观看往期回放
💬 获取帮助与建立联系
| 渠道 | 用途 | 链接 |
|---|---|---|
| Slack 社区 | 实时聊天、答疑、公告发布 | 加入 16,000+ 成员 |
| GitHub Discussions | 技术讨论、功能需求 | 发起讨论 |
| GitHub Issues | 缺陷报告、功能需求 | 提交 Issue |
| Stack Overflow | 技术问答(标签:datahub) |
提出问题 |
| YouTube | 教程、演示、演讲 | 订阅频道 |
| 公司动态、技术博客 | 关注我们 | |
| Twitter/X | 快速资讯、社区亮点 | 关注 @datahubproject |
📧 保持关注
🎓 学习资源
- DataHub 快速入门 - 15 分钟快速上手
- API 文档 - GraphQL 与 REST API 参考
- 架构指南 - 深入剖析内部机制
- 视频教程 - 分步操作指南
🤝 参与贡献
我们❤️来自社区的一切贡献!请参阅 CONTRIBUTING.md 了解环境搭建、贡献指南及参与方式。
从 Good First Issues 开始你的贡献之旅吧!
📚 资源与学习
📰 精选内容
博客文章与专题:
- DataHub:主流元数据架构解析 - LinkedIn 工程团队
- 开源 DataHub - LinkedIn 工程团队
- 在数据网格中实现数据发现 - Saxo Bank
- SpotHero 的数据可发现性实践 - SpotHero
- 现代数据基础设施的新兴架构 - a16z
会议演讲:
- 元数据的演进:LinkedIn 的探索之旅 - Strata 2019
- 借助 DataHub 推动 DataOps 文化建设 - DataOps Unleashed 2021
- LinkedIn 的元数据之旅 - Crunch Conference 2019
- Expedia Group 的 DataHub 实践之路 - Expedia
播客节目:
- 将实时元数据图谱的力量带给每一个人 - Data Engineering Podcast
🔗 重要链接
| 资源 | 链接 |
|---|---|
| 📖 官方文档 | https://docs.datahub.com |
| 🏠 项目官网 | https://datahub.com |
| 🌐 在线演示 | https://demo.datahub.com |
| 📊 功能需求 | https://support.datahub.com/hc/en-us/requests/new |
| 🗓️ 全体会议安排 | https://docs.datahub.com/docs/townhalls |
| 💬 Slack 社区 | https://datahub.com/slack |
| 📺 YouTube 频道 | https://www.youtube.com/@DataHubCloud |
| 📝 博客 | https://datahub.com/blog/ |
| https://www.linkedin.com/company/72009941 | |
| 🐦 Twitter/X | https://twitter.com/datahubproject |
| 🔒 安全 | https://docs.datahub.com/docs/security |
📄 许可证
DataHub 是根据 Apache License 2.0 发布的开源软件。
Copyright 2015-2026 LinkedIn Corporation
Copyright 2025-Present DataHub Project Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
这意味着:
- ✅ 允许商业使用
- ✅ 允许修改
- ✅ 允许分发
- ✅ 允许专利使用
- ✅ 允许私人使用
了解更多: 选择许可证 - Apache 2.0
⭐ 如果您觉得 DataHub 有用,请为仓库点亮 Star!⭐
由 DataHub 社区倾心打造 ❤️