利用 Amazon SageMaker Feature Store 的新功能加速 ML 特征管道

TL;DR · AI 摘要
Amazon SageMaker Feature Store 发布三项新功能:原生集成 AWS Lake Formation 实现细粒度访问控制,新增 Apache Iceberg 表属性以管理元数据生命周期并降低存储成本,以及通过 SageMaker Python SDK v3 提供更轻量高效的开发体验。
核心要点
- 通过 Lake Formation 原生集成,可在创建特征组时自动启用列级、行级及单元格级访问控制,无需手动配置。
- 利用新增的 Apache Iceberg 表属性配置元数据保留策略,可解决高频流式作业导致的元数据膨胀问题,避免如一年内产生 50 TB 元数据文件的高额存储费
- SageMaker Python SDK v3.8.0 全面支持 Feature Store 新功能,提供模块化、更轻量且更快的开发包。
结构提纲
按章节快速跳转。
企业将 ML 平台扩展至生产环境时面临敏感数据访问控制和高频流式作业带来的存储成本挑战。
SageMaker Python SDK v3.8.0 引入 Lake Formation 集成、Iceberg 表属性控制及 SDK 现代化三大能力。
支持在创建或更新特征组时注册离线存储,自动强制执行细粒度访问控制策略。
允许配置元数据保留和快照生命周期策略,防止元数据积累并降低 S3 存储成本。
新版 SDK 将完整的 Feature Store 功能集封装入模块化、轻量级且速度更快的包中。
- §实施前提
使用新功能需具备 AWS 账户权限、SageMaker AI 执行角色、SDK v3.8.0 及配置好的 S3 存储桶。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- SageMaker Feature Store 更新
- 安全与治理
- Lake Formation 集成
- 细粒度访问控制
- 成本与性能
- Iceberg 元数据管理
- SDK v3 轻量化
金句 / Highlights
值得收藏与分享的关键句。
一家零售分析团队发现,其基于 Apache Iceberg 的离线存储在不到一年内积累了超过 50 TB 的元数据文件。
在创建特征组期间将您的离线存储注册到 Lake Formation,以强制执行列级、行级和单元格级访问控制。
在创建特征组时控制元数据保留和快照生命周期策略,以防止元数据积累并降低存储成本。
标题:利用 Amazon SageMaker Feature Store 新功能加速 ML 特征管道 | Amazon Web Services
URL 来源:https://aws.amazon.com/blogs/machine-learning/accelerate-ml-feature-pipelines-with-new-capabilities-in-amazon-sagemaker-feature-store/
发布时间:2026-05-19T07:20:33-08:00
Markdown 内容: Amazon SageMaker Feature Store 是一个完全托管、专为机器学习(ML)模型设计的特征存储、共享与管理仓库。它现已支持 Apache Iceberg 表格式、流式摄取、可扩展批处理摄取 以及 通过 AWS Lake Formation 实现的细粒度访问控制。
随着企业把机器学习平台从实验阶段扩展到生产阶段,两个运营挑战反复出现。第一,如何在不给每个新特征组带来手动开销的前提下,安全地访问敏感特征数据。第二,当高频流式工作负载产生不断增长的 Apache Iceberg 元数据时,如何让存储成本保持可预测。例如,某零售分析团队发现,基于 Apache Iceberg 的离线存储在不到一年内累积了超过 50 TB 的元数据文件,导致 Amazon Simple Storage Service(Amazon S3)费用大幅且出乎意料地增加。同时,各行业的基础设施团队告诉我们,他们需要在创建特征组时自动生效的 Lake Formation 强制访问控制,而不是事后才需要重复手动配置的附加步骤。
今天,我们宣布在 SageMaker Python SDK v3.8.0 中推出三项新功能,专门应对这些挑战:
- 原生 AWS Lake Formation 集成 – 在创建特征组时,或将现有特征组注册到 Lake Formation,即可强制执行列级、行级和单元格级访问控制,无需手动设置 Lake Formation。
- 额外的 Apache Iceberg 表属性 – 在创建特征组时或对现有特征组设置元数据保留与快照生命周期策略,防止元数据堆积并降低存储成本。
- SageMaker Python SDK v3 中的 Feature Store 支持 – 现代化的 SDK v3.8.0 将全套 Feature Store 功能(包括这些新特性)封装进一个模块化、更快速、更轻量的包。
本文将通过代码示例逐一介绍这些功能,帮助你快速上手。如需完整的端到端示例,请查看 SageMaker Python SDK 仓库中的配套笔记本:Lake Formation 治理 与 Iceberg 表属性。
前提条件
要跟随本文示例,你需要:
- 拥有创建 Amazon SageMaker AI 资源的 AWS 账户。
- 具备访问 Amazon S3、AWS Glue 和 AWS Lake Formation 的 Amazon SageMaker AI 执行角色。
- SageMaker Python SDK v3.8.0 或更高版本。可使用以下命令安装:
pip install --upgrade "sagemaker>=3.8.0" - 对于 Lake Formation 集成:账户中至少配置一名 数据湖管理员。Feature Store 会在启用访问控制前验证此角色。
- 一个用于离线存储数据的现有 Amazon S3 存储桶。
解决方案概览
这些功能通过 SDK v3 的 FeatureGroupManager.create() 和 FeatureGroupManager.update() 调用中的新参数实现。LakeFormationConfig 触发自动访问控制设置,IcebergProperties 配置元数据生命周期。两者均可在创建特征组时设置,也可应用于现有特征组。
SageMaker Python SDK v3 中的 Feature Store
SageMaker Python SDK v3.8.0 于 2026 年 4 月 16 日发布,是本文所述功能的基础。现代化 SDK 引入模块化架构、性能提升,并移除了旧版硬依赖(如 PyTorch),带来更快的安装和更小的环境。
SDK v3 中可用的 Feature Store 功能包括:
- 特征组生命周期管理: 创建、描述、更新、删除和列出特征组。
- 记录操作:
PutRecord、GetRecord和BatchGetRecord。 - 训练数据集提取: 支持时间点正确查询以构建训练数据集。
- DataFrame 摄取: 通过
FeatureGroupManager.ingest()从 Pandas 和 Spark DataFrame 摄取数据。 - 新的离线存储参数:
IcebergProperties和LakeFormationConfig在create与update工作流中均完全支持。
Feature Store 的 API 表面与 SDK v2 保持一致,因此现有代码只需极少改动即可运行。请查看 SDK v3 变更日志 了解 SDK 其他区域的破坏性变更详情。
使用 SDK v3 快速开始
下面展示如何创建带有新的 Lake Formation 和 Iceberg 参数的特征组:
fg = FeatureGroupManager.create(
feature_group_name="my-features",
record_identifier_feature_name="user_id",
event_time_feature_name="event_time",
feature_definitions=df,
role_arn=role,
online_store_config={"EnableOnlineStore": True},
offline_store_config=OfflineStoreConfig(
s3_storage_config=S3StorageConfig(s3_uri=f"s3://{bucket}/feature-store/"),
table_format="Iceberg",
),
lake_formation_config=LakeFormationConfig(
enabled=True,
hybrid_access_mode_enabled=True,
acknowledge_risk=True,
),
iceberg_properties=IcebergProperties(
properties={
"write.metadata.delete-after-commit.enabled": "true",
"write.metadata.previous-versions-max": "10",
}
),
)CSS
通过原生 Lake Formation 集成治理离线存储
过去,在 Feature Store 数据上配置 AWS Lake Formation 需要 多个手动步骤:注册 S3 位置、撤销 IAMAllowedPrincipals 组的权限,并为每个特征组配置数据筛选器。这一过程耗时、易错,且每新增一个特征组都要重复一次。对于金融、医疗等受监管行业,需要列级、行级乃至单元级访问控制的组织来说,尤其繁琐。
现在,你可以在创建特征组时,通过向 FeatureGroupManager.create() 传入 LakeFormationConfig 来 激活 Lake Formation 访问控制。也可对现有特征组使用 FeatureGroupManager.enable_lake_formation() 开启。启用后,Feature Store 会自动为你完成以下操作:
- 将 S3 数据位置加入 Lake Formation。 离线存储的 S3 前缀被注册为受 Lake Formation 治理的数据湖位置。可信分析服务(Amazon Athena、AWS Glue、Amazon EMR、Amazon Redshift Spectrum)随后从 Lake Formation 获取临时凭证来查询数据。
- (可选)禁用混合访问模式。 当你设置
hybrid_access_mode_enabled=False时,SDK 会撤销 AWS Glue 表上的IAMAllowedPrincipal授权,强制所有访问都必须走 Lake Formation 权限模型。若hybrid_access_mode_enabled=True,则 AWS Identity and Access Management (IAM) 策略与 Lake Formation 权限并存,便于逐步迁移。更多信息参见 混合访问模式。 - 提供推荐的 S3 拒绝策略。 对于需要端到端治理的客户,SDK 在激活后会以警告消息形式输出一条推荐的桶策略。请审核并应用到你的 Amazon S3 桶,以阻止未授权主体直接读取 S3,从而关闭绕过 Lake Formation 的最后通道。
这是一个按特征组选择加入的设置。如果省略,行为保持不变,现有特征组继续使用基于 IAM 的访问。
代码示例
以下示例创建一个新的特征组并启用 Lake Formation 访问控制。更多配置选项参见 在特征组中启用 Lake Formation。
fg = FeatureGroupManager.create(
feature_group_name="governed-customer-features",
record_identifier_feature_name="customer_id",
event_time_feature_name="event_time",
feature_definitions=customer_df,
role_arn=role,
online_store_config={"EnableOnlineStore": True},
offline_store_config=OfflineStoreConfig(
s3_storage_config=S3StorageConfig(s3_uri=f"s3://{bucket}/feature-store/"),
table_format="Iceberg",
),
lake_formation_config=LakeFormationConfig(
enabled=True,
hybrid_access_mode_enabled=True,
acknowledge_risk=True,
),
)CSS
为现有特征组激活 Lake Formation:
fg = FeatureGroupManager.get(
feature_group_name="existing-feature-group",
)
fg.enable_lake_formation(
hybrid_access_mode_enabled=True,
acknowledge_risk=True,
)Code
配置完成后,使用 Lake Formation 控制台或 API 授予细粒度权限。你可以让数据科学团队仅对 customer_id、credit_score 和 region 列拥有 SELECT 权限(列级过滤),也可以限制分析师只能查看 region = 'us-east-1' 的行(行级过滤),或将两者结合实现单元级访问控制。
关键注意事项
在线存储不受影响。 Lake Formation 访问控制仅作用于离线存储。在线存储继续使用基于 IAM 的授权,因此实时推理延迟不变。
同时支持 AWS Glue 和 Iceberg 表格式。 无论离线存储使用哪种表格式,Lake Formation 访问控制均同样适用。
跨账户兼容。 如果你使用 AWS Resource Access Manager (AWS RAM) 在账户之间共享 Feature Store 表,Lake Formation 的授权机制将继续与现有的跨账户共享模式协同工作。注意:当表格式为 Iceberg 时,必须为跨账户访问禁用混合访问模式。
**
在创建时设置属性。 这些属性仅对新提交生效。对于已累积元数据的现有特征组,请使用 FeatureGroupManager.update() 设置属性,然后运行 Spark 快照过期 和 孤立文件删除 以回收存储空间。
有关支持的完整属性列表,请参阅 Iceberg 元数据管理。
整合使用
通过在一次 FeatureGroupManager.create() 调用中同时启用这两项能力,即可生成既受治理又成本优化的特征组,无需后续配置。离线存储的元数据将自动管理,Lake Formation 访问控制也无需手动注册即可生效。在线存储继续以 IAM 授权提供低延迟特征服务。
fg = FeatureGroupManager.create(
feature_group_name="real-time-user-signals",
record_identifier_feature_name="user_id",
event_time_feature_name="event_time",
feature_definitions=signals_df,
role_arn=role,
online_store_config={"EnableOnlineStore": True},
offline_store_config=OfflineStoreConfig(
s3_storage_config=S3StorageConfig(s3://{bucket}/feature-store/"),
table_format="Iceberg",
),
lake_formation_config=LakeFormationConfig(
enabled=True,
hybrid_access_mode_enabled=True,
acknowledge_risk=True,
),
iceberg_properties=IcebergProperties(
properties={
"write.metadata.delete-after-commit.enabled": "true",
"write.metadata.previous-versions-max": "10",
"history.expire.max-snapshot-age-ms": "86400000",
"history.expire.min-snapshots-to-keep": "5",
}
),
)CSS
如需完整的端到端 Notebook 及分步说明,请查看 SageMaker Python SDK 仓库中的 Lake Formation 治理 Notebook 和 Iceberg 表属性 Notebook。
清理
为避免持续计费,请删除本演练中创建的特征组。如果您已将 Amazon S3 位置添加到 Lake Formation,请通过 Lake Formation 控制台 或 DeregisterResource API 取消注册。撤销您为测试授予的 Lake Formation 权限。
结论
这些增强功能共同让 Amazon SageMaker Feature Store 更易于保护、更具成本效益,并能更快地集成到您的 ML 管道中。通过自动化 Lake Formation 访问控制、公开细粒度的 Iceberg 生命周期设置,并通过轻量级模块化 SDK 提供这些功能,这些变化消除了过去阻碍团队实现大规模生产级特征管理的无差别繁重工作。无论您是上线第一个特征组,还是跨多个团队管理数百个特征组,这些能力都能帮助您更快推进。您可以放心,访问控制和成本控制从第一天起就已内置。我们鼓励您升级到 SageMaker Python SDK v3.8.0,并探索这些功能如何简化现有工作流程。
更多信息,请参阅 Feature Store 文档、Lake Formation 访问控制指南、Iceberg 元数据管理指南 和 SDK v3 发布说明。动手实践,请尝试 Lake Formation Notebook 和 Iceberg 属性 Notebook。
有关 Feature Store 概念和早期能力的背景,请浏览以下相关文章:
- 了解 Amazon SageMaker Feature Store 的关键能力
- 使用 SageMaker Feature Store 和 Apache Iceberg 离线存储压缩加速 ML 开发
- 使用 AWS Lake Formation 控制对 Amazon SageMaker Feature Store 离线的访问
- 使用 Amazon SageMaker Unified Studio 和 SageMaker Catalog 构建离线特征存储
- * *