Amazon SageMaker Feature Store オフラインストアのデータ形式 - Amazon SageMaker

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

Amazon SageMaker Feature Store オフラインストアのデータ形式

Amazon SageMaker Feature Store は、オフラインストアの AWS Glue および Apache Iceberg テーブル形式をサポートしています。新しい特徴量グループを作成するときにテーブル形式を選択できます。 AWS Glue はデフォルトの形式です。

Amazon SageMaker Feature Store のオフラインストアデータは、アカウント内の Amazon S3 バケットに保存されます。PutRecord を呼び出すと、データは 15 分以内に Amazon S3 にバッファされ、バッチ処理され、書き込まれます。Feature Store は、オフラインストアにデータを書き込む際に Parquet ファイル形式のみをサポートします。具体的には、オフラインストアにデータが書き込まれると、データは Amazon S3 バケットから Parquet 形式で取得できます。各ファイルには複数の Record を含めることができます。

Iceberg 形式の場合、Feature Store は、オフラインストアデータの保存に使用しているのと同じ Amazon S3 バケットにテーブルのメタデータを保存します。metadata プレフィックスの下にあります。

Feature Store は、DescribeFeatureGroupAPI呼び出しで から取得できる OfflineStoreConfig.S3StorageConfig.ResolvedOutputS3Uri フィールドも公開します。これは、特定の特徴グループのファイルが書き込まれる S3 のパスです。

オフラインストアでレコードが保持される場合、Feature Store は各レコードに次の追加フィールドを加えます。

  • api_invocation_time - サービスが PutRecord または DeleteRecord の呼び出しを受信した時点のタイムスタンプ。マネージド型の取り込み (Data Wrangler など) を使っている場合、これはデータがオフラインストアに書き込まれた時点のタイムスタンプです。

  • write_time - オフラインストアにデータが書き込まれた時点のタイムスタンプ。タイムトラベル関連クエリの作成に使うことができます。

  • is_deleted - デフォルトは False です。DeleteRecord が呼び出されると、オフラインストアでは新しい RecordRecordIdentifierValue に挿入され、True に設定されます。

Amazon SageMaker Feature Store オフラインストアURI構造

以下の例の amzn-s3-demo-bucket は、アカウント内の Amazon S3 バケット、example-prefix はプレフィックスの例、111122223333 はアカウント ID、AWS リージョン はリージョン、feature-group-name は特徴量グループの名前を表します。

AWS Glue テーブル形式

AWS Glue テーブル形式を使用して保存されたオフラインストア内のレコードは、イベント時間ごとに時間単位のパーティションに分割されます。分割スキームは設定できません。次のURI構造は、 形式を使用した AWS Glue Parquet ファイルの編成を示しています。

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/AWS リージョン/offline-store/feature-group-name-feature-group-creation-time/data/year=year/month=month/day=day/hour=hour/timestamp_of_latest_event_time_in_file_16-random-alphanumeric-digits.parquet

次の例は、feature-group-namecustomer-purchase-history-patterns であるファイルの Parquet ファイルの出力場所を示しています。

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/AWS リージョン/offline-store/customer-purchase-history-patterns-1593511200/data/year=2020/month=06/day=31/hour=00/20200631T064401Z_108934320012Az11.parquet

Iceberg テーブル形式

Iceberg テーブル形式で保存されたオフラインストアのレコードは、イベント時間ごとに日にち単位で分割されます。分割スキームは設定できません。次のURI構造は、Iceberg テーブル形式で保存されたデータファイルの編成を示しています。

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/AWS リージョン/offline-store/feature-group-name-feature-group-creation-time/data/8-random-alphanumeric-digits/event-time-feature-name_trunc=event-time-year-event-time-month-event-time-day/timestamp-of-latest-event-time-in-file_16-random-alphanumeric-digits.parquet

次の例は、feature-group-namecustomer-purchase-history-patterns であり、event-time-feature-nameEventTime であるファイルの Parquet ファイルの出力場所を示しています。

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/AWS リージョン/offline-store/customer-purchase-history-patterns-1593511200/data/0aec19ca/EventTime_trunc=2022-11-09/20221109T215231Z_yolTtpyuWbkaeGIl.parquet

次の例は、Iceberg テーブル形式で保存されたデータファイルのメタデータファイルの場所です。

s3://amzn-s3-demo-bucket/example-prefix/111122223333/sagemaker/AWS リージョン/offline-store/feature-group-name-feature-group-creation-time/metadata/