
DataHub 元数据平台5分钟跑通本地实例血缘自动追踪【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub月活到底该看哪张表没人说得清 owner字段口径一改下游报表先炸。DataHub 就是为这类问题开源的元数据平台把你各处的数据源接进统一目录自动串联血缘让每张表可搜索、可追责、可协作。一图看懂定位它管什么坐在链路哪一层它管的是数据的描述而非数据本身数据集 schema、owner、业务标签、任务血缘、报表关联。两侧打交道的组件分别是摄取侧CLI、Kafka、调度器从 MySQL、Snowflake、Kafka、Airflow 等源采集团队元数据和服务侧MySQL 存主数据、Kafka 传事件、OpenSearch 建搜索索引、Web UI 做呈现。侧组件干什么摄取侧CLI / Kafka / 调度器连接各数据源产出元数据与血缘存储侧MySQL / Kafka元数据主存储 / 变更事件总线服务侧OpenSearch / Web UI / GraphQL搜索、浏览、API 消费它在链路里是中间枢纽元数据从各个源汇入这里UI、API、自动化动作都从这里取。架构图左、中、右三块正好对应你跑 quickstart 时看到的摄取、GMS 核心、Actions 三组容器。三条命令看到 UI最短跑通路径前提只有一个Docker 已启动且给 Docker 分 8GB 以上内存外加 Python 3.10。安装 CLI 并启动全套服务python3 -m pip install --upgrade acryl-datahub # ← 装 CLI datahub version # ← 应输出版本号 datahub docker quickstart # ← 一键拉起全部容器 curl -s http://localhost:8080/health # ← 探针等到 UP 即就绪此时你应该看到datahub version打出具体版本号quickstart 日志最后几行出现Container datahub-datahub-gms-quickstart-1 Healthy浏览器打开 http://localhost:9002 用默认账号 datahub / datahub 登录左上角搜索框已经可用。场景一先灌入示例数据把界面跑热空目录没体感。DataHub 自带一条命令导入预置的示例数据集、任务和血缘导入示例数据集与血缘datahub docker ingest-sample-data # ← 无需任何配置此时你应该看到UI 搜索user_account或all_entities能命中点进去是带 Schema / Documentation / Properties / Lineage 四个标签页的数据集详情页。这张示例数据集详情页里每个字段都挂了类型、描述和标签——后面场景二要改的 owner 和标签就在它的 Properties 标签页。场景二给一张表打业务标签、定负责人想做什么把user_account标上pii标签、指派 owner让合规的人能按标签筛到它。敲什么数据集详情页 →Properties标签 →Tags Domains搜pii没有就在原地新建立刻可用→ 在Ownership区选一个 owner。不写 SQL、不用重启保存即生效。批量场景下同一操作可用 GraphQL API 完成datahub graphql execute就能发少量表用界面最快。看到什么详情页 Properties 区立刻显示新标签和 ownerBrowse 页左侧按 pii 过滤这张表出现在结果列表里。场景三追一条数据从哪来、到哪去想做什么搞清楚all_entities的上游是谁、下游喂给了哪些报表。敲什么界面路线是详情页点Lineage标签CLI 路线直接查图谱把血缘查询写入文件并执行cat lineage.gql EOF { dataset(urn: urn:li:dataset:(urn:li:dataPlatform:snowflake,all_entities,PROD)) { lineage { upstream { node { id } } downstream { node { id } } } } } EOF datahub graphql execute --query-file lineage.gql看到什么CLI 返回 JSONupstream / downstream 里全是节点的 urn能直接看出它从哪个 topic、哪张表加工而来界面上则是可点节点展开下一层的血缘图。血缘图把数据集、任务、报表连成一张网点任意节点的加号可逐层展开上下游。元数据为什么几秒就能同步事件流机制DataHub 里任何一次元数据变更——UI 手改、CLI 导入、摄取写入——都不是直接落库而是先打包成 MCE元数据变更事件写进 Kafka。GMS 消费事件后写入 MySQL同时更新 OpenSearch 索引。所以元数据写一次、处处可见、秒级生效反过来你订阅这个 Kafka 主题就能做自动化比如检测到某表新增 PII 字段时自动发起权限收紧流程。高频坑与自救跑不通很正常这四个坑基本覆盖了本地部署的绝大多数卡点。现象8080 拒绝连接前端一直转圈。原因GMS 还在启动全套起来通常要一两分钟。 解法curl -s http://localhost:8080/health # ← 循环探到 UP docker logs datahub-datahub-gms-quickstart-1 --tail 50 # ← 长时间不 UP 看卡点现象9002 或 8080 端口被占quickstart 起不来。原因本机已有服务占了默认端口。 解法datahub docker quickstart --stop export DATAHUB_MAPPED_GMS_PORT58080 # ← 换 GMS 端口 export DATAHUB_MAPPED_FRONTEND_PORT19002 # ← 换前端端口 datahub docker quickstart现象OpenSearch 容器反复重启日志报内存不足。原因Docker 分给容器的内存不够 8GB。 解法docker system prune清理无用镜像再到 Docker Desktop 的 Settings → Resources 把内存调到 8GB 以上后重启 Docker。现象升了版本之前的数据全没了。原因quickstart 换版本时默认重建卷旧数据被抹掉。 解法别慌以后换版本前先备份datahub docker quickstart --backup --backup-file datahub-backup.sql datahub docker quickstart --version 目标版本 datahub docker quickstart --restore --restore-file datahub-backup.sql现象摄取跑完了搜索里找不到新表。原因搜索索引在 OpenSearch9200 端口里要么索引没更新要么写入的 urn 和你搜的不一致。 解法curl -s http://localhost:9200/_cat/indices | grep -i metadata # ← 看索引与文档数索引在但文档数没涨就查 mce-consumer 容器日志确认 MCE 事件真的被消费了。下一步方向能跑通之后最有价值的动作是接上你自己的数据源写一份 recipesource sink跑datahub ingest让真实血缘先流转起来。想深挖机制就从 架构文档 和 摄取原理 入手。【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考