自定义数据源 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义数据源

在本页上,我们将介绍如何创建自定义数据源类并展示一些用法示例。对于自定义数据源,您可以使用提供的适用于 Python 的 SageMaker AI SDK (Boto3),就像使用亚马逊 SageMaker 功能商店提供的 APIs 数据源一样。

要使用自定义数据源通过特征处理将数据转换并摄取到特征组中,需要使用以下类成员和函数来扩展 PySparkDataSource 类。

  • data_source_name (str):数据源的任意名称。例如,Amazon Redshift、Snowflake 或 Glue Catalog ARN。

  • data_source_unique_id (str):表示正在访问的特定资源的唯一标识符。例如,表名、DDB 表 ARN、Amazon S3 前缀。自定义数据源中所有使用相同 data_source_unique_id 的情况都将关联到世系视图中的同一数据源。世系包括有关特征处理工作流的执行代码、使用的数据源以及将它们摄取到特征组或特征的方式的信息。有关在 Studio 中查看特征组任务流水线的信息,请参阅 从管理控制台查看任务流水线

  • read_data (func):一种用于连接特征处理器的方法。返回一个 Spark 数据框。有关示例,请参阅自定义数据源示例

data_source_namedata_source_unique_id 都用于唯一标识您的世系实体。以下是名为 CustomDataSource 的自定义数据源类的示例。

from sagemaker.feature_store.feature_processor import PySparkDataSource from pyspark.sql import DataFrame class CustomDataSource(PySparkDataSource): data_source_name = "custom-data-source-name" data_source_unique_id = "custom-data-source-id" def read_data(self, parameter, spark) -> DataFrame: your own code here to read data into a Spark dataframe return dataframe