DataHub SageMaker 元数据摄取指南:Feature Groups、模型、任务与血缘的端到端接入

发布时间:2026/9/19 21:44:38

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),仅供参考
延伸阅读

更多相关文章

2026/9/19 21:44:38

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

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

2026/9/19 21:39:38

垃圾填埋场设计开题报告:从场址分析到防渗与渗滤液系统的关键参数

简介:垃圾填埋场设计开题报告PDF,面向环境工程、市政工程等专业学生及从事固废处理的设计人员,聚焦堰桥地区山谷型小型垃圾填埋场的工程难点。文档围绕场底平整与防滑、雨水导排与防渗系统、渗滤液与填埋气收集导排、渗滤液处理及终场覆盖等核…

2026/9/19 21:39:38

领导力培训课件怎么做?10页PPT讲透身心减压与健康女性主题

简介:这份领导力培训课件以“为身心减压,做健康女性”为主题,面向企业培训讲师、女性管理者及关注员工心理健康的HR,用于开展女性职场压力识别与调适培训。课件仅1个PPT文件,大小2.84MB,页数约10页&#xf…

2026/9/19 22:49:41

Office LTSC 2024 离线安装 ISO 镜像制作与部署实战指南

1. 为什么离线部署 Office 依然是个刚需聊到 Microsoft Office LTSC 2024 的离线安装 ISO 镜像,很多人第一反应是"现在都什么年代了,直接点开官网下载安装器不就行了"。这话放在家里自己用的电脑上没毛病,但只要你干过企业 IT 运维…

2026/9/19 22:49:41

Python测试框架Pytest核心优势与实战指南

1. 为什么需要更优雅的测试框架在软件开发领域,测试代码的质量往往决定了项目的长期可维护性。传统unittest模块虽然能满足基本需求,但随着项目规模扩大,其局限性逐渐显现:繁琐的样板代码、不够直观的断言方式、难以扩展的测试组织…

2026/9/19 22:49:41

open-code-review:可验证的开源代码评审协议

1. “open-code-review”不是工具名,而是新一代代码评审范式的命名起点最近在几个技术社区里频繁看到“open-code-review”这个词,它不像 Git、Docker 或 ESLint 那样有明确的官网、安装命令或 GitHub star 数——它没有统一发行版,没有中心化…

2026/9/19 22:49:41

用Trae+Flutter Web从零实现2048游戏:完整实践与算法解析

说实话,2048 这个游戏我前后写过好几个版本,从 Python 命令行版到 React 版都有,但这次用 Trae 直接写 Flutter Web 版倒是第一次。整个项目从安装 Flutter SDK、在 Trae 里建工程、写出全部核心逻辑、到浏览器里能跑通,花了一个下…

2026/9/19 22:49:41

PDF转Word全攻略:从原生电子版到扫描件OCR的高保真转换方案

1. 为什么PDF转Word至今仍是高频刚需1.1 从热搜词看真实需求分布翻了一圈近期的搜索热词,PDF转Word这个看似“老掉牙”的话题,实际上需求一点没减少,反而因为AI工具的普及衍生出了更多细分场景。热搜词里既有“pdf转word”这种基础需求&#…

2026/9/19 20:17:34

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/19 0:03:10

验证 OpenSpec 兼容性,Cursor 的 Token 从 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 0:03:10

书桌角落的 Mac mini,OpenClaw 通过 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 0:03:10

oh-my-hermes:打造跨工具的命令编排与插件化工作流

1. 项目概述与设计初衷1.1 它到底是什么先说结论:oh-my-hermes 是一个面向开发者日常终端操作的效率工具套件,核心定位是“把分散在各类命令行工具里的高频操作,统一收拢成一套插件化、可编排的工作流”。项目灵感来源很明显——oh-my-zsh 重…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码