

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# カスタムデータソース
<a name="feature-store-feature-processor-data-sources-custom"></a>

このページでは、カスタムデータソースクラスの作成方法を説明し、使用例をいくつか示します。カスタムデータソースを使用すると、SageMaker AI SDK for Python (Boto3) が提供する API を、Amazon SageMaker Feature Store が提供するデータソースを使用する場合と同じように使用できます。

カスタムデータソースを使用して、Feature Processing を利用してデータを変換し、特徴量グループに取り込むには、次のクラスメンバーと関数で `PySparkDataSource` クラスを拡張する必要があります。
+ `data_source_name` (str): データソースの任意の名前。例えば、Amazon Redshift、Snowflake、Glue カタログ ARN などです。
+ `data_source_unique_id` (str): アクセスしている特定のリソースを参照する一意の識別子。例えば、テーブル名、DDB テーブル ARN、Amazon S3 プレフィックスなどです。カスタムデータソースの同じ `data_source_unique_id` の使用はすべて、リネージビュー内の同じデータソースに関連付けられます。リネージには、特徴量処理ワークフローの実行コード、使用されたデータソース、特徴量グループまたはフ特徴量への取り込み方法に関する情報が含まれます。**Studio** で特徴量グループのリネージを表示する方法の詳細については、「[コンソールからリネージを表示する](feature-store-use-with-studio.md#feature-store-view-feature-processor-pipeline-lineage-studio)」を参照してください。
+ `read_data` (func): 特徴量プロセッサとの接続に使用される方法。Spark データフレームを返します。例については「[カスタムデータソースの例](feature-store-feature-processor-data-sources-custom-examples.md)」を参照してください。

`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
```