本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自定义数据源
在本页上,我们将介绍如何创建自定义数据源类并展示一些用法示例。对于自定义数据源,您可以使用提供的适用于 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_name
和 data_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