ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DataHub GraphQL 实战:3 个任务搞定元数据查询与变更

DataHub GraphQL 实战:3 个任务搞定元数据查询与变更 DataHub GraphQL 实战3 个任务搞定元数据查询与变更【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub想在代码里查一张表归谁管、上下游是什么总不能靠在页面间来回翻吧。DataHub GraphQL 是 DataHub 的图查询接口元数据查询、数据血缘、变更描述都能在一个端点里完成。读到这里你能在本地跑通一个查询、改掉一条元数据。先搞懂 4 个名词名词一句话解释URN每个元数据实体的唯一标识如urn:li:dataset:(urn:li:dataPlatform:kafka,my_topic,PROD)Dataset表、Topic 等数据资产在 DataHub 里的实体查询和变更的主对象血缘 Lineage实体之间的上下游关系可查也可写GMS后台元数据服务存储实体和 AspectGraphQL 就是它上面的查询层GraphiQL浏览器里的交互查询界面边写边看结果和 REST 的区别只有一句话GraphQL 让你精确指定要哪些字段多要少要都自己定。三步跑起来clone、启动、打开 Playground下面这段命令会克隆仓库、用 Docker 起一套完整环境最后告诉你打开哪个地址git clone https://gitcode.com/GitHub_Trending/da/datahub cd datahub docker compose -f docker/profiles/docker-compose.yml up -d克隆仓库到本地。执行 quickstart 的 docker compose 命令等容器全部变成 green。浏览器打开http://localhost:9002/api/graphiql这就是 Playground。注意quickstart 不会预置业务数据建议先用 ingestion 同步任意一个源或手动推几条 MCE这样下面查询时才有东西可看。任务一查出这张表归谁管用这条查询取回数据集的基本信息和全部负责人{ dataset(urn: urn:li:dataset:(urn:li:dataPlatform:kafka,my_topic,PROD)) { urn name platform { name } owners { owners { urn displayName } } } }跑完你会看到返回的 owners 列表这就是这张表的责任人如果列表为空说明没人认领。任务二摸清它的上下游这条血缘查询沿 incoming 方向拉取所有上游实体{ dataset(urn: urn:li:dataset:(urn:li:dataPlatform:kafka,my_topic,PROD)) { lineage(input: { direction: INCOMING, start: 0, count: 20 }) { relationships { source { urn } relationshipType } } } }跑完每条 relationship 的source.urn就是一个上游节点改direction为OUTGOING就能看下游。任务三改一句描述、顺带搜一个词先用 mutation 把这张表的描述改掉mutation { updateDataset( urn: urn:li:dataset:(urn:li:dataPlatform:kafka,my_topic,PROD) input: { editableProperties: { description: 订单实时 Topic由风控组维护SLA 5 分钟 } } ) { urn } }返回 urn 且没有 error说明已经写进去了刷新页面里的 Dataset 详情就能看到新描述。这种变更完全可以封装成脚本定期跑比如批量给无主表打标记。搜索也是一样的套路search(input: { type: DATASET, query: order, start: 0, count: 10 })就能跨表找关键词用法和查询基本一致。避坑与提速清单只取需要的字段返回体越小解析越快批量变更用updateDatasets别循环单条发请求常用字段组合抽成 fragment 复用高频读请求在客户端做本地缓存血缘查询带start/count分页别一次拉全图整套 schema、解析器和变更逻辑都在 datahub-graphql-core/ 里写查询前拿不准字段就去查 docs/api/graphql/ 里的 getting-started照着官方文档改比硬猜字段名快得多。【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表