DataHub SageMaker 元数据摄取指南:Feature Groups、模型、任务与血缘的端到端接入
DataHub SageMaker 元数据摄取指南Feature Groups、模型、任务与血缘的端到端接入【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub本文基于 DataHub 官方源文档sagemaker_pre.md展开系统讲解如何使用sagemaker摄取模块将 AWS SageMaker 中的机器学习资产Feature Groups、模型、训练/推理任务及其血缘关系接入 DataHub。读完本文你将掌握该模块的摄取范围、前置条件、Recipe 配置方法以及从源码层面理解其底层执行流程与实体映射机制。模块定位与摄取范围sagemaker模块是 DataHub 面向 AWS SageMaker 机器学习平台的官方摄取源面向生产环境的元数据摄取工作流设计。从 sagemaker_pre.md 的 Overview 可知该插件提取两类核心元数据Feature groups特征组SageMaker 特征存储中的特征组及其包含的每个特征定义Models、jobs 及二者之间的血缘例如任务产出模型training job 输出 model或模型被任务使用model 被 transform/endpoint 引用时均会建立对应的血缘关系。在 sagemaker_post.md 的补充说明中进一步确认该集成覆盖 ML 实体模型、特征、相关血缘元数据并支持表级血缘table-level lineage与有状态删除检测stateful deletion detection。后者意味着在启用有状态摄取时若源端资产消失DataHub 可自动将其标记为删除避免脏数据长期滞留。从 sagemaker.py 的装饰器声明可以看到官方对该模块的定位与能力标注platform_name(SageMaker) config_class(SagemakerSourceConfig) support_status(SupportStatus.GA) capability(SourceCapability.LINEAGE_COARSE, Enabled by default) class SagemakerSource(StatefulIngestionSourceBase):其中SupportStatus.GA表明该模块已达到正式可用General Availability状态LINEAGE_COARSE粗粒度血缘能力默认启用无需额外配置即可获得模型与任务之间的血缘。前置条件Prerequisites根据 sagemaker_pre.md 的 Prerequisites 一节在运行摄取之前必须确认以下三项网络连通性摄取进程所在环境必须能够访问 AWS SageMaker 服务端点通常通过 VPC、PrivateLink 或公网访问有效的认证凭据提供可用的 AWS 凭证例如AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY、IAM Role 或 AWS 共享凭证文件 等标准机制元数据 API 的读权限执行摄取所使用的 IAM 主体需要具备 SageMaker 元数据相关 API 的只读权限包括但不限于ListFeatureGroups、DescribeFeatureGroup、ListModels、DescribeModel、ListTrainingJobs、ListProcessingJobs、ListTransformJobs、ListEndpoints、ListActions、ListArtifacts等具体 API 调用见下文源码分析。当故障发生时sagemaker_post.md 的 Troubleshooting 建议首先按顺序排查凭据credentials、权限permissions、连通性connectivity与范围过滤scope filters随后再结合摄取日志中与源相关的报错逐项调整配置。快速开始Recipe 配置DataHub 摄取通过 RecipeYAML驱动。最小可用的 SageMaker Recipe 如下完整内容见 sagemaker_recipe.ymlsource: type: sagemaker config: # Coordinates aws_region: my-aws-region sink: # sink configssource.type固定为sagemakersource.config.aws_region指定 SageMaker 所在的 AWS 区域例如us-east-1该值同时用于构造 DataHub 中资产 URN 的区域上下文sink部分按需配置例如写入 DataHub GMS 的datahub-rest或 Kafka 的datahub-kafkasink。保存 Recipe 后通过 CLI 执行摄取datahub ingest -c sagemaker_recipe.yml配置项详解SagemakerSourceConfig定义在 sagemaker_processors/common.py它同时继承自AwsSourceConfig提供 AWS 认证、区域、环境等公共配置与StatefulIngestionConfigBase提供有状态摄取配置核心字段如下配置项类型默认值说明aws_regionstr无AWS 区域必填如us-east-1envstrPROD继承自AwsSourceConfigDataHub 中的环境标识参与 URN 构造extract_feature_groupsOptional[bool]True是否提取特征组及其特征定义extract_modelsOptional[bool]True是否提取模型、模型部署端点与模型组extract_jobsOptional[Union[Dict[str, str], bool]]True是否提取各类 SageMaker 任务可传布尔值或按任务类型过滤的字典stateful_ingestionOptional[StatefulStaleMetadataRemovalConfig]None有状态摄取配置用于过期实体删除检测extract_jobs 的过滤语义extract_jobs支持两种形态布尔值true摄取全部任务类型false跳过任务摄取字典按任务类型精确过滤。从 jobs.py 的JobType枚举可见SageMaker 任务共分为 7 类class JobType(Enum): AUTO_ML auto_ml COMPILATION compilation HYPER_PARAMETER_TUNING hyper_parameter_tuning LABELING labeling PROCESSING processing TRAINING training TRANSFORM transform对应地JobProcessor 内部通过job_type_to_info将每一类任务绑定到独立的规格类AutoMlJobInfo、CompilationJobInfo、HyperParameterTuningJobInfo、LabelingJobInfo、ProcessingJobInfo、TrainingJobInfo、TransformJobInfo定义于 job_classes.py每个规格类声明对应的list_*分页命令与解析键。例如仅摄取训练任务与转换任务可配置为source: type: sagemaker config: aws_region: us-east-1 extract_jobs: training: true transform: true有状态摄取配置由于SagemakerSource继承自StatefulIngestionSourceBase可开启 stale entity removal 实现源端资产删除后的自动清理source: type: sagemaker config: aws_region: us-east-1 stateful_ingestion: enabled: true remove_stale_metadata: true开启后摄取报告SagemakerSourceReport见 common.py会统计feature_groups_scanned、features_scanned、models_scanned、jobs_scanned、endpoints_scanned、groups_scanned等计数并基于LossyList记录被过滤filtered的实体名称便于排查为何某些资产未入库。底层执行流程源码级解析整个摄取入口是SagemakerSource.get_workunits_internalsagemaker.py其执行顺序如下LineageProcessor 先行首先实例化LineageProcessor并调用get_lineage()构建全局血缘图模型 URI/镜像 → 端点、模型组FeatureGroupProcessor受extract_feature_groups控制提取特征组JobProcessor受extract_jobs控制False时跳过提取任务并在过程中构建model_image_to_jobs与model_name_to_jobs两张映射表ModelProcessor受extract_models控制将上一步得到的任务映射与第 1 步的血缘图注入最终把模型、端点、模型组与任务串成完整的血缘网络。各处理器均为独立模块职责单一feature_groups.py通过list_feature_groups分页列举全部特征组再对每个特征组调用describe_feature_group获取FeatureDefinitions特征定义列表并按NextToken分页拉全jobs.py按任务类型分页列举任务将每个任务建模为SageMakerJob记录输入/输出数据集与上下游任务关系最终产出DataJob与DataFlow实体models.py列举模型、模型包组model package groups与端点endpoints产出MLModel、MLModelGroup、MLModelDeployment实体lineage.py通过list_actions、list_artifacts等 SageMaker ML Lineage Tracking API 分页拉取动作与产物构建LineageInfo维护模型 URI/镜像 → 端点与模型组 ARN → 模型两组映射。此外SagemakerSource内部的ClientFactorysagemaker.py支持在启用凭证自动刷新allowed_cred_refresh()时动态获取 boto3 SageMaker client适用于使用临时凭证或角色轮换的生产环境。实体映射与血缘建模虽然 README.md 指出具体概念映射尚在完善中但从源码实现可以明确以下映射关系特征组 → ML 实体每个特征组Feature Group映射为MLFeatureTableURN 为make_ml_feature_table_urn(sagemaker, feature_group_name)特征组中的RecordIdentifierFeatureName记录标识符映射为MLPrimaryKey其余FeatureDefinitions中的每个特征映射为MLFeature。特征类型存在显式映射表feature_groups.pySageMaker FeatureTypeDataHub MLFeatureDataTypeStringTEXTIntegralORDINALFractionalCONTINUOUS其他UNKNOWN并记录 warning特征的数据来源sources同样会被写入若特征组配置了 Offline Store则以s3://路径构造 S3 Dataset URN若关联了 Glue Data CatalogDataCatalogConfig还会追加 Glue 表 URN。特征组的 ARN、创建时间、状态会写入customProperties。任务 → DataJob / DataFlow每个 SageMaker 任务映射为DataJob并通过make_sagemaker_flow_urn生成 orchestrator 为sagemaker的DataFlowjobs.py。由于 SageMaker 没有全局的任务分组属性源码注释明确说明为每个任务创建一个 flow。任务的输入/输出数据集构成DataJobInputOutput从而形成任务与数据集之间的血缘边。模型 → MLModel 及部署实体模型映射为MLModel其超参数写入MLHyperParamClass评估指标写入MLMetricClass端点Endpoint映射为MLModelDeployment端点状态通过ENDPOINT_STATUS_MAPmodels.py翻译为 DataHub 的DeploymentStatusClassIN_SERVICE、CREATING、FAILED等模型包组Model Package Group映射为MLModelGroup。模型与任务的血缘血缘的缝合依赖两张关键映射model_image_to_jobs模型镜像路径 → 引用该模型的任务与model_name_to_jobs模型名 → 任务。JobDirection枚举区分TRAINING训练任务产出模型与DOWNSTREAM模型被下游任务/端点使用两种方向从而准确表达jobs output a model与a model is used by a job两类血缘。最终模型的MLModelProperties中携带这些血缘信息在 DataHub UI 中呈现为完整的 ML 血缘图。能力、限制与排障要点能力以 sagemaker.py 装饰器与 sagemaker_post.md 为准特征组、模型、任务、端点、模型组实体的完整摄取模型-任务、模型-端点、模型-模型组的血缘提取LINEAGE_COARSE默认启用表级血缘S3 / Glue 数据集来源与有状态删除检测。限制模块行为受 SageMaker 源端 API、权限及平台暴露的元数据约束部分能力为条件支持见各能力说明Online Store 因元数据不足仅含安全配置与启用开关源码注释明确说明不会为其创建数据集实体若特征组关联了 Glue 表源端仅补充 Glue 表 URN不摄取 Glue 表的完整元数据需另行运行 Glue 摄取源。排障顺序sagemaker_post.md先校验凭据、权限、连通性与范围过滤再结合摄取日志中源相关的报错调整配置。也可借助摄取报告中的filtered列表与*_scanned计数快速定位未入库的资产是被过滤还是 API 访问失败。参考文档官方源文档sagemaker_pre.md、sagemaker_post.md、README.md示例 Recipesagemaker_recipe.yml核心实现sagemaker.py、common.py、feature_groups.py、jobs.py、models.py、lineage.py【免费下载链接】datahubThe Context Platform for your Data and AI Stack项目地址: https://gitcode.com/GitHub_Trending/da/datahub创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows下nvm-windows完全指南:安装、切换与镜像加速

Windows下nvm-windows完全指南:安装、切换与镜像加速

我在 Windows 上折腾 Node.js 这些年前前后后换过几十个版本。有一阵子全靠官网安装包来回卸载重装,结果就是各种环境冲突,直到用上 nvm-windows 才算是真正解脱。这篇就把 Windows 下 nvm 的完整玩法一次讲清楚,从安装、环境变量&#xff0c…

2026/9/19 21:44:46 阅读更多 →
电赛实用信号源设计:DDS与STM32实现频率步进和稳定度控制

电赛实用信号源设计:DDS与STM32实现频率步进和稳定度控制

简介:全国大学生电子设计竞赛培训资料中的题目二,聚焦实用信号源的设计与制作,面向电子类参赛学生和指导老师,尤其适合备赛阶段梳理正弦波与脉冲波信号源的指标要求与技术方案。文档完整收录赛题任务、基本要求与发挥部分&#xf…

2026/9/19 21:43:46 阅读更多 →
多模态不是智能核心:推理架构才是关键

多模态不是智能核心:推理架构才是关键

1. 多模态热潮下的冷思考:为什么说它不是智能的核心这两年多模态大模型的热度几乎盖过了所有其他方向。随便打开一个技术社区,满屏都是图文对齐、视频理解、跨模态检索的讨论。各路产品发布会也把“支持多模态输入输出”当作核心卖点反复强调。但我自己在…

2026/9/19 21:43:46 阅读更多 →

最新新闻

Podman `--build-arg-file` 选项详解:用文件批量管理构建参数

Podman `--build-arg-file` 选项详解:用文件批量管理构建参数

容器运行时云原生CLI 【免费下载链接】podman Podman: A tool for managing OCI containers and pods. 项目地址: https://gitcode.com/gh_mirrors/po/podman 点击查看 免费下载 --build-arg-file 是 Podman 为 podman build 与 podman farm build 提供的构建参数批…

2026/9/19 22:31:09 阅读更多 →
OpenClaw 写分镜头脚本,Base URL 改到 TaoToken

OpenClaw 写分镜头脚本,Base URL 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 22:31:09 阅读更多 →
Meteor 应用性能优化与水平扩展实战指南(Performance Improvements)

Meteor 应用性能优化与水平扩展实战指南(Performance Improvements)

Meteor 应用性能优化与水平扩展实战指南(Performance Improvements) 【免费下载链接】meteor Meteor, the JavaScript App Platform 项目地址: https://gitcode.com/gh_mirrors/me/meteor 本指南源自 Meteor 官方文档 guide/source/performance-im…

2026/9/19 22:31:09 阅读更多 →
OpenResearch(orx)仓库开发指南深度解读:架构分层、开发规范与 CI/发布门禁实战

OpenResearch(orx)仓库开发指南深度解读:架构分层、开发规范与 CI/发布门禁实战

人工智能AI Agent深度研究自主智能体Agent 编排 【免费下载链接】OpenResearch Turn your coding agents into research agents 项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch 点击查看 免费下载 本文围绕仓库根目录的 AGENTS.md(Rep…

2026/9/19 22:31:09 阅读更多 →
PaddleOCR PP-OCRv5 多语言文本识别完全指南:106 种语言支持、快速上手与模型选型

PaddleOCR PP-OCRv5 多语言文本识别完全指南:106 种语言支持、快速上手与模型选型

PaddleOCR PP-OCRv5 多语言文本识别完全指南:106 种语言支持、快速上手与模型选型 【免费下载链接】PaddleOCR 飞桨多语言OCR工具包(实用超轻量OCR系统,支持80种语言识别,提供数据标注与合成工具,支持服务器、移动端、…

2026/9/19 22:31:09 阅读更多 →
ZoteroDuplicatesMerger 批量合并状态机剖析:轮询、超时与错误重试如何保障稳健运行

ZoteroDuplicatesMerger 批量合并状态机剖析:轮询、超时与错误重试如何保障稳健运行

ZoteroDuplicatesMerger 批量合并状态机剖析:轮询、超时与错误重试如何保障稳健运行 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger …

2026/9/19 22:30:08 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介:面向机器学习、深度学习与数据建模学习者的一份完整研究文献,聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本,系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程,展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型,在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志,发现loss从凌晨两点就开始往上爬,一路从0.8涨到1.35,整整六个小时没人发现。那六个小时的训练不仅白跑,还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/19 3:59:36 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/19 3:53:08 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/19 4:02:43 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →