[Export] (エクスポート) - Amazon SageMaker

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

[Export] (エクスポート)

Data Wrangler フローでは、データ処理パイプラインに加えた変換の一部またはすべてをエクスポートできます。

Data Wrangler フローは、データに対して実行した一連のデータ準備手順です。データの準備では、データに対して 1 つ以上の変換を実行します。各変換は、変換ステップを使用して行われます。フローには、データのインポートと実行した変換を表す一連のノードがあります。例については、以下のイメージを参照してください。

Data Wrangler コンソールのデータフローの例。

上の図は、2 つのノードを持つデータラングラーフローを示しています。ソース – サンプリングノードはデータのインポート元のデータソースです。データ型ノードは、Data Wrangler がデータセットを使用可能な形式に変換するための変換を実行したことを示します。

Data Wrangler フローに追加する各変換は、追加のノードとして表示されます。追加できるその他の変換の詳細については、「データを変換する」を参照してください。次の図は、データセット内の列の名前を変更するための Rename-column ノードを持つ Data Wrangler フローを示しています。

データ変換を次にエクスポートできます。

  • Amazon S3

  • パイプライン

  • Amazon SageMaker Feature Store

  • Python コード

重要

IAM AmazonSageMakerFullAccess 管理ポリシーを使用して を付与することをお勧めします。 AWS Data Wrangler を使用するための アクセス許可。管理ポリシーを使用しない場合は、Data Wrangler に Amazon S3 バケットへのアクセスを許可する IAMポリシーを使用できます。管理ポリシーの詳細については、「セキュリティと権限」を参照してください。

データフローをエクスポートすると、 AWS 使用する リソース。コスト配分タグを使用して、これらのリソースのコストを整理および管理できます。ユーザープロファイル用にこれらのタグを作成すると、Data Wrangler はデータフローのエクスポートに使用されるリソースにタグを自動的に適用します。詳細については、「コスト配分タグの使用」を参照してください。

Amazon S3 へのエクスポート

Data Wrangler を使用すると、Amazon S3 バケット内の場所にデータをエクスポートできます。次の方法のいずれかを使用して、場所を指定できます。

  • 宛先ノード – Data Wrangler がデータを処理した後にデータを保存する場所。

  • エクスポート先 – 変換の結果データを Amazon S3 にエクスポートします。

  • エクスポートデータ – 小さなデータセットの場合、変換したデータをすばやくエクスポートできます。

これらの各方法の詳細については、次のセクションを参照してください。

Destination Node

実行した一連のデータ処理ステップを Amazon S3 に出力する場合は、宛先ノードを作成します。宛先ノードは、処理後のデータの保存先を Data Wrangler に指示します。宛先ノードを作成したら、データを出力する処理ジョブを作成します。処理ジョブは Amazon SageMaker 処理ジョブです。宛先ノードを使用すると、変換したデータを Amazon S3 に出力するのに必要な計算リソースが実行されます。

宛先ノードを使用して、Data Wrangler フローで行った変換の一部またはすべてをエクスポートできます。

複数の宛先ノードを使用して、さまざまな変換または変換のセットをエクスポートできます。次の例は、1 つの Data Wrangler フロー内の 2 つの宛先ノードを示しています。

Data Wrangler コンソールで 2 つの宛先ノードを示すデータフローの例。

次の手順を使用して、宛先ノードを作成し、Amazon S3 バケットにエクスポートできます。

データフローをエクスポートするには、宛先ノードと、データをエクスポートするための Data Wrangler ジョブを作成します。Data Wrangler ジョブを作成すると、フローをエクスポートする SageMaker 処理ジョブが開始されます。エクスポートする宛先ノードは、作成後に選択できます。

注記

Data Wrangler フローで [ジョブを作成] を選択すると、処理ジョブの使用手順が表示されます。

宛先ノードを作成するには、次の手順を実行します。

  1. エクスポートする変換を表すノードの隣にある [+] を選択します。

  2. 送信先の追加を選択します。

    Data Wrangler コンソールで送信先を追加する方法を示すデータフローの例。
  3. [Amazon S3] を選択します。

    Data Wrangler コンソールで送信先を追加する方法を示すデータフローの例。
  4. 以下のフィールドを指定します。

    • データセット名 – エクスポートするデータセットに指定する名前。

    • ファイルタイプ – エクスポートするファイルの形式。

    • 区切り記号 ( および Parquet ファイルのみ) – 他の値を区切るために使用される値。CSV

    • 圧縮 (CSV および Parquet ファイルのみ) — ファイルサイズを小さくするために使用される圧縮方法。次の圧縮方法を使用できます。

      • bzip2

      • deflate

      • gzip

    • (オプション) Amazon S3 の場所 – ファイルの出力に使用している S3 の場所。

    • (オプション) パーティション数 – 処理ジョブの出力として書き込むデータセットの数。

    • (オプション) 列ごとのパーティション – 同じ固有値を持つすべてのデータを列から書き込みます。

    • (オプション) 推論パラメータ[推論アーティファクトを生成] を選択すると、Data Wrangler フローで使用したすべての変換が、推論パイプラインに入力されるデータに適用されます。パイプライン内のモデルは、変換されたデータを予測します。

  5. 送信先の追加を選択します。

以下の手順に従って処理ジョブを作成を作成します。

[データフロー] ページからジョブを作成し、エクスポートする宛先ノードを選択します。

注記

Data Wrangler フローで [ジョブを作成] を選択すると、処理ジョブの使用手順が表示されます。

  1. [ジョブの作成]を選択します。次の図は、[ジョブを作成] を選択した後に表示されるペインを示しています。

    Data Wrangler コンソールでのデータフロー作成ジョブペインの例。
  2. [ジョブ名] には、エクスポートジョブの名前を指定します。

  3. エクスポートする宛先ノードを選択します。

  4. (オプション) を指定する AWS KMS キー ARN。A AWS KMS key は、データの保護に使用できる暗号化キーです。の詳細については、「」を参照してください。 AWS KMS キー、「」を参照してください。 AWS Key Management Service.

  5. (オプション) 次の操作を行った場合は、[トレーニング済みパラメータ] の下で [再適用] を選択します。

    • データセットをサンプリングした

    • データを使用してデータセットに新しい列を作成する変換を適用した

    データセット全体に対して行った変換を再適用する方法の詳細については、「変換をデータセット全体に再適用してエクスポートする」を参照してください。

    注記

    画像データの場合、Data Wrangler はすべての画像に対して行った変換をエクスポートします。変換を再適用しても、このユースケースには適用されません。

  6. [ジョブの設定] を選択します。次の図は、[ジョブの設定] ページを示しています。

    Data Wrangler コンソールのデータフロー設定ジョブページの例。
  7. (オプション) Data Wrangler ジョブを設定します。次の設定を行うことができます。

    • ジョブ設定

    • Spark メモリ設定

    • ネットワーク構成

    • タグ

    • パラメータ

    • アソシエイトスケジュール

  8. [Run] (実行) を選択します。

Export to

宛先ノードを使用する代わりに、[エクスポート先] オプションを使用すると、Jupyter Notebook を使用して Data Wrangler フローを Amazon S3 にエクスポートできます。Data Wrangler フロー内の任意のデータノードを選択してエクスポートできます。データノードをエクスポートすると、ノードが表す変換とその前の変換がエクスポートされます。

次の手順を使用して Jupyter Notebook を生成し、それを実行して Data Wrangler フローを Amazon S3 にエクスポートします。

  1. エクスポートするノードの横にある [+] を選択します。

  2. [エクスポート先] を選択します。

  3. [Amazon S3 (Jupyter Notebook 経由)] を選択します。

  4. Jupyter Notebook を実行します。

    Data Wrangler コンソールで Data Wrangler フローをエクスポートする方法を示すデータフローの例。

ノートブックを実行すると、データフロー (.flow ファイル) が同じ にエクスポートされます。 AWS リージョン を Data Wrangler フローとして指定します。

ノートブックには、処理ジョブと出力されるデータの設定に使用できるオプションが用意されています。

重要

データの出力を設定するためのジョブ設定が用意されています。パーティショニングとドライバーのメモリオプションについては、それらについての知識がない限り設定を指定しないことを強くお勧めします。

[ジョブ設定] で以下を設定できます。

  • output_content_type – 出力ファイルのコンテナタイプ。デフォルト形式として CSV を使用しますが、Parquet を指定することもできます。

  • delimiter – CSV ファイルに書き込むときにデータセット内の値を区切るために使用される文字。

  • compression – 設定されている場合、出力ファイルを圧縮します。デフォルトの圧縮形式として gzip を使用します。

  • num_partitions – Data Wrangler が出力として書き込むパーティションまたはファイルの数。

  • partition_by – 出力の分割に使用する列の名前。

出力ファイル形式を から Parquet に変更CSVするには、値を から "CSV" に変更します"Parquet"。上記の残りのフィールドについては、指定するフィールドを含む行のコメントを解除します。

[(オプション) Spark クラスタードライバーメモリーの設定] では、config ディクショナリ内の Spark ドライバーメモリなど、ジョブの Spark プロパティを設定できます。

以下は config ディクショナリを示しています。

config = json.dumps({ "Classification": "spark-defaults", "Properties": { "spark.driver.memory": f"{driver_memory_in_mb}m", } })

設定を処理ジョブに適用するには、以下の行のコメントを解除します。

# data_sources.append(ProcessingInput( # source=config_s3_uri, # destination="/opt/ml/processing/input/conf", # input_name="spark-config", # s3_data_type="S3Prefix", # s3_input_mode="File", # s3_data_distribution_type="FullyReplicated" # ))
Export data

小規模なデータセットに変換を迅速にエクスポートする場合は、エクスポートデータメソッドを使用できます。[エクスポートデータ] の選択を開始すると、Data Wrangler は同期的に動作して、変換したデータを Amazon S3 にエクスポートします。データのエクスポートが完了するか、オペレーションをキャンセルするまで、Data Wrangler を使用することはできません。

Data Wrangler フローでエクスポートデータメソッドを使用する方法については、次の手順を参照してください。

エクスポートデータメソッド使用するには。

  1. Data Wrangler フロー内のノードを (ダブルクリックして) 開いて選択します。

    Data Wrangler コンソールでデータをエクスポートする方法を示すデータフローの例。
  2. データをエクスポートする方法を設定します。

  3. [エクスポートの開始] を選択します。

データフローを Amazon S3 バケットにエクスポートすると、Data Wrangler はフローファイルのコピーを S3 バケットに保存します。フローファイルには data_wrangler_flows プレフィックスが使われます。デフォルトの Amazon S3 バケットを使用してフローファイルを保存する場合、sagemaker-region-account number という命名規則が使用されます。例えば、アカウント番号が 111122223333 で、us-east-1 で Studio Classic を使用している場合、インポートされたデータセットは に保存されますsagemaker-us-east-1-111122223333。この例では、us-east-1 で作成された .flow ファイルは s3://sagemaker-region-account number/data_wrangler_flows/ に保存されます。

パイプラインへのエクスポート

大規模な機械学習 (ML) ワークフローを構築してデプロイする場合は、Pipelines を使用して SageMaker ジョブを管理およびデプロイするワークフローを作成できます。Pipelines を使用すると、 SageMaker データ準備、モデルトレーニング、モデルデプロイジョブを管理するワークフローを構築できます。Pipelines を使用すると、 SageMaker が提供するファーストパーティーアルゴリズムを使用できます。パイプラインの詳細については、SageMaker 「パイプライン」を参照してください。

データフローからパイプラインに 1 つ以上のステップをエクスポートすると、Data Wrangler はパイプラインの定義、インスタンス化、実行、管理に使用できる Jupyter Notebook を作成します。

Jupyter Notebook を使用してパイプラインを作成する

次の手順を使用して Jupyter Notebook を作成し、Data Wrangler フローを Pipelines にエクスポートします。

次の手順を使用して Jupyter Notebook を生成し、それを実行して Data Wrangler フローを Pipelines にエクスポートします。

  1. エクスポートするノードの横にある [+] を選択します。

  2. [エクスポート先] を選択します。

  3. パイプライン (Jupyter Notebook 経由) を選択します。

  4. Jupyter Notebook を実行します。

Data Wrangler コンソールで Data Wrangler フローをエクスポートする方法を示すデータフローの例。

Data Wrangler が生成する Jupyter Notebook を使用して、パイプラインを定義できます。パイプラインには、Data Wrangler フローで定義されるデータ処理ステップが含まれています。

ノートブックの次のコードで steps リストにステップを追加すると、パイプラインにステップを追加できます。

pipeline = Pipeline( name=pipeline_name, parameters=[instance_type, instance_count], steps=[step_process], #Add more steps to this list to run in your Pipeline )

パイプラインの定義の詳細については、「パイプラインの定義 SageMaker」を参照してください。

推論エンドポイントへのエクスポート

Data Wrangler フローから SageMaker シリアル推論パイプラインを作成して、Data Wrangler フローを使用して推論時にデータを処理します。推論パイプラインは、トレーニングを受けたモデルに新しいデータを予測させる一連のステップです。Data Wrangler 内のシリアル推論パイプラインが Raw データを変換し、機械学習モデルに提供して予測を行います。Studio Classic 内の Jupyter Notebook から推論パイプラインを作成、実行、管理します。ノートブックへのアクセスの詳細については、「Jupyter Notebook を使用して推論エンドポイントを作成する」を参照してください。

ノートブック内では、機械学習モデルをトレーニングすることも、既にトレーニングしたモデルを指定することもできます。Amazon SageMaker Autopilot または を使用してXGBoost、Data Wrangler フローで変換したデータを使用してモデルをトレーニングできます。

パイプラインでは、バッチ推論またはリアルタイム推論のいずれかを実行できます。Data Wrangler フローを SageMaker Model Registry に追加することもできます。モデルのホスティングの詳細については、「1 つのエンドポイントの背後にある 1 つのコンテナで複数のモデルをホストする」を参照してください。

重要

Data Wrangler フローに以下の変換がある場合、推論エンドポイントにエクスポートすることはできません。

  • Join

  • 連結

  • グループ化

データを準備するために前述の変換を使用する必要がある場合は、次の手順を使用します。

サポートされていない変換による推論に備えてデータを準備するには
  1. Data Wrangler フローを作成します。

  2. サポートされていない前述の変換を適用します。

  3. データを Amazon S3 バケットにエクスポートします。

  4. 別の Data Wrangler フローを作成します。

  5. 前のフローからエクスポートしたデータをインポートします。

  6. 残りの変換を適用します。

  7. 当社が提供する Jupyter Notebook を使用してシリアル推論パイプラインを作成します。

データを Amazon S3 バケットにエクスポートする方法については、「Amazon S3 へのエクスポート」を参照してください。シリアル推論パイプラインの作成に使用した Jupyter Notebook を開く方法については、「Jupyter Notebook を使用して推論エンドポイントを作成する」を参照してください。

Data Wrangler は、推論時にデータを削除する変換を無視します。例えば、Data Wrangler は [欠落をドロップ] 設定を使用すると 欠落した値を処理する 変換を無視します。

データセット全体に変換を再適用した場合、その変換は推論パイプラインに引き継がれます。例えば、中央値を使用して欠損値を代入した場合、変換を再適用した中央値が推論リクエストに適用されます。Jupyter Notebook を使用している場合、または推論パイプラインにデータをエクスポートしている場合、Data Wrangler フローから変換を再適用できます。変換の再適用の詳細については、「変換をデータセット全体に再適用してエクスポートする」を参照してください。

シリアル推論パイプラインは、入力文字列と出力文字列として次のデータ型をサポートします。各データ型には一連の要件があります。

サポートされるデータ型
  • text/csv – CSV文字列のデータ型

    • 文字列にヘッダーを含めることはできません。

    • 推論パイプラインに使用される特徴量は、トレーニングデータセット内の特徴量と同じ順序でなければなりません。

    • 特徴量間にはカンマ区切り文字が必要です。

    • レコードは改行文字で区切る必要があります。

    以下は、推論リクエストで指定できる有効な形式のCSV文字列の例です。

    abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890
  • application/json – JSON文字列のデータ型

    • 推論パイプラインのデータセットで使用される特徴量は、トレーニングデータセット内の特徴量と同じ順序でなければなりません。

    • データには特定のスキーマが必要です。スキーマは、一連の features を含む単一の instances オブジェクトとして定義します。各 features オブジェクトは観測値を表します。

    以下は、推論リクエストで指定できる有効な形式のJSON文字列の例です。

    { "instances": [ { "features": ["abc", 0.0, "Doe, John", 12345] }, { "features": ["def", 1.1, "Doe, Jane", 67890] } ] }

Jupyter Notebook を使用して推論エンドポイントを作成する

次の手順を使用して Data Wrangler フローをエクスポートし、推論パイプラインを作成します。

Jupyter Notebook を使用して推論パイプラインを作成するには、以下を実行します。

  1. エクスポートするノードの横にある [+] を選択します。

  2. [エクスポート先] を選択します。

  3. SageMaker 推論パイプライン (Jupyter Notebook 経由) を選択します。

  4. Jupyter Notebook を実行します。

Jupyter Notebook を実行すると、推論フローアーティファクトが作成されます。推論フローアーティファクトは、シリアル推論パイプラインの作成に使用されるメタデータが追加された Data Wrangler フローファイルです。エクスポートするノードには、先行ノードのすべての変換が含まれます。

重要

Data Wrangler は、推論パイプラインを実行するために推論フローアーティファクトを必要とします。独自のフローファイルをアーティファクトとして使用することはできません。前述の手順を使用して作成する必要があります。

Python コードにエクスポートする

データフローのすべてのステップを、任意のデータ処理ワークフローに手動で統合できる Python ファイルにエクスポートするには、次の手順を使用します。

次の手順を使用して Jupyter Notebook を生成し、それを実行して Data Wrangler フローを Python コードにエクスポートします。

  1. エクスポートするノードの横にある [+] を選択します。

  2. [エクスポート先] を選択します。

  3. [Python コード] を選択します。

  4. Jupyter Notebook を実行します。

Data Wrangler コンソールで Data Wrangler フローをエクスポートする方法を示すデータフローの例。

Python スクリプトをパイプラインで実行するように設定する必要がある場合があります。例えば、Spark 環境を実行している場合は、 へのアクセス許可を持つ環境からスクリプトを実行している必要があります。 AWS リソースの使用料金を見積もることができます。

Amazon SageMaker Feature Store へのエクスポート

Data Wrangler を使用して、作成した機能を Amazon SageMaker Feature Store にエクスポートできます。特徴量はデータセットの列です。特徴量ストアは、特徴量とそれに関連するメタデータの一元的なストアです。特徴量ストアを使用すれば、機械学習 (ML) 開発用の厳選されたデータを作成、共有、管理できます。一元化されたストアにより、データをより見つけやすく、再利用しやすくなります。Feature Store の詳細については、「Amazon SageMaker Feature Store」を参照してください。

特徴量ストアの中核となる概念は特徴量グループです。特徴量グループは、特徴量、そのレコード (観測値)、および関連するメタデータの集まりです。これはデータベースのテーブルに似ています。

Data Wrangler を使用して、次のいずれかを実行できます。

  • 既存の特徴量グループを新しいレコードで更新します。レコードはデータセット内の観測値です。

  • Data Wrangler フロー内のノードから新しい特徴量グループを作成します。Data Wrangler は、データセットの観測データを特徴量グループのレコードとして追加します。

既存の特徴量グループを更新する場合は、データセットのスキーマが特徴量グループのスキーマと一致する必要があります。特徴量グループのすべてのレコードは、データセットの観測値に置き換えられます。

Jupyter Notebook または宛先ノードのいずれかを使用して、データセット内の観測データで特徴量グループを更新できます。

Iceberg テーブル形式の特徴量グループにカスタムオフラインストア暗号化キーがある場合は、Amazon SageMaker Processing IAM ジョブで使用している に、それを使用するためのアクセス許可を付与してください。少なくとも、Amazon S3 に書き込むデータを暗号化するアクセス許可を付与する必要があります。アクセス許可を付与するには、IAMロールに を使用する機能を付与しますGenerateDataKey。を使用するアクセス許可をIAMロールに付与する方法の詳細については、「」を参照してください。 AWS KMS キーについては、https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html「��

Destination Node

実行した一連のデータ処理ステップを特徴量グループに出力する場合は、宛先ノードを作成できます。宛先ノードを作成して実行すると、Data Wrangler は特徴量グループをデータで更新します。宛先ノード UI から新しい特徴量グループを作成することもできます。宛先ノードを作成したら、データを出力する処理ジョブを作成します。処理ジョブは Amazon SageMaker 処理ジョブです。宛先ノードを使用すると、変換したデータを特徴量グループに出力するのに必要な計算リソースが実行されます。

宛先ノードを使用して、Data Wrangler フローで行った変換の一部またはすべてをエクスポートできます。

データセットからの観測値で特徴量グループを更新する宛先ノードを作成するには、次の手順に従います。

宛先ノードを使用して特徴量グループを更新するには、次の手順を実行します。

注記

Data Wrangler フローで [ジョブを作成] を選択すると、処理ジョブを使用して特徴量グループを更新する手順を表示できます。

  1. エクスポートするデータセットを含むノードの横にある [+] 記号を選択します。

  2. 送信先の追加 でSageMaker Feature Store を選択します。

    Data Wrangler コンソールで送信先を追加する方法を示すデータフローの例。
  3. 特徴量グループを選択 (ダブルクリック) します。Data Wrangler は、特徴量グループのスキーマが、特徴量グループの更新に使用しているデータのスキーマと一致するかどうかを確認します。

  4. (オプション) オンラインストアとオフラインストアの両方を持つ特徴量グループの場合にのみ [オフラインストアにエクスポート] を選択します。このオプションでは、データセットの観測値でオフラインストアのみが更新されます。

  5. Data Wrangler がデータセットのスキーマを検証したら、[追加] を選択します。

次の手順を使用して、データセットのデータを使用して新しい特徴量グループを作成します。

特徴量グループ次のいずれかの方法で保存できます。

  • オンライン – 特徴量グループの低レイテンシー、高可用性のキャッシュで、レコードのリアルタイム検索を可能にします。オンラインストアを使用すると、特徴量グループのレコードの最新の値にすばやくアクセスできます。

  • オフライン – 特徴量グループのデータを Amazon S3 バケットに保存します。低レイテンシー (1 秒未満) の読み取りが不要な場合は、データをオフラインで保存できます。データ探索、モデルトレーニング、バッチ推論に使用される特徴量にはオフラインストアを使用できます。

  • オンラインとオフラインの両方 – オンラインストアとオフラインストアの両方にデータを保存します。

宛先ノードを使用して特徴量グループを作成するには、次の手順を実行します。

  1. エクスポートするデータセットを含むノードの横にある [+] 記号を選択します。

  2. 送信先の追加 でSageMaker Feature Store を選択します。

  3. [特徴量グループを作成] を選択します。

  4. 次のダイアログボックスで、データセットにイベント時間列がない場合は、「Create "EventTime」列を選択します

  5. [Next (次へ)] を選択します。

  6. JSON スキーマのコピー を選択します。特徴量グループを作成するときは、スキーマを特徴量定義に貼り付けます。

  7. [Create] (作成) を選択します。

  8. [特徴量グループ] には、特徴量グループの名前を指定します。

  9. [説明 (オプション)] には、特徴量グループを見つけやすくするための説明を指定します。

  10. オンラインストアの特徴量グループを作成するには、次の手順を実行します。

    1. [オンラインストレージを有効にする] を選択します。

    2. オンラインストアの暗号化キー には、 を指定します。 AWS マネージド暗号化キーまたは独自の暗号化キー。

  11. オフラインストアの特徴量グループを作成するには、次の手順を実行します。

    1. [オフラインストレージを有効にする] を選択します。以下のフィールドに値を入力します。

      • S3 バケット名 – 特徴量グループを保存する Amazon S3 バケットの名前。

      • (オプション) データセットディレクトリ名 – 特徴量グループの保存に使用する Amazon S3 プレフィックス。

      • IAM ロール ARN — Feature Store にアクセスできるIAMロール。

      • テーブル形式 – オフラインストアのテーブル形式。Glue または Iceberg を指定できます。Glue がデフォルトの形式です。

      • オフラインストア暗号化キー – デフォルトでは、Feature Store は を使用します。 AWS Key Management Service マネージドキー。ただし、 フィールドを使用して独自のキーを指定できます。

    2. 以下のフィールドに値を入力します。

      • S3 バケット名 – 特徴量グループを保存するバケットの名前。

      • (オプション) データセットディレクトリ名 – 特徴量グループの保存に使用する Amazon S3 プレフィックス。

      • IAM ロール ARN — Feature Store にアクセスできるIAMロール。

      • オフラインストア暗号化キー – デフォルトでは、Feature Store は を使用します。 AWS マネージドキー。ただし、 フィールドを使用して独自のキーを指定できます。

  12. [Continue](続行) を選択します。

  13. を選択しますJSON

  14. ウィンドウ内のプレースホルダーブラケットを削除します。

  15. ステップ 6 のJSONテキストを貼り付けます。

  16. [Continue](続行) を選択します。

  17. ではRECORDIDENTIFIERFEATURENAME、データセット内の各レコードに一意の識別子を持つデータセット内の列を選択します。

  18. EVENT TIME FEATURE にはNAME、タイムスタンプ値を含む列を選択します。

  19. [Continue](続行) を選択します。

  20. (オプション) タグを追加して、特徴量グループをより見つけやすくします。

  21. [Continue](続行) を選択します。

  22. [Create feature group] (特徴グループを作成) を選択します。

  23. Data Wrangler フローに戻り、特徴量グループの検索バーの横にある更新アイコンを選択します。

注記

フロー内の特徴量グループの宛先ノードを既に作成している場合、同じ特徴量グループに別の宛先ノードを作成することはできません。同じ特徴量グループに対して別の宛先ノードを作成する場合は、別のフローファイルを作成する必要があります。

次の手順を使用して、Data Wrangler ジョブを作成します。

[データフロー] ページからジョブを作成し、エクスポートする宛先ノードを選択します。

  1. [ジョブの作成]を選択します。次の図は、[ジョブを作成] を選択した後に表示されるペインを示しています。

  2. [ジョブ名] には、エクスポートジョブの名前を指定します。

  3. エクスポートする宛先ノードを選択します。

  4. (オプション) 出力KMSキー で、 の ARN、ID、またはエイリアスを指定します。 AWS KMS キー。KMS キーは暗号化キーです。このキーを使用して、ジョブの出力データを暗号化できます。の詳細については、「」を参照してください。 AWS KMS キー、「」を参照してください。 AWS Key Management Service.

  5. 次の画像は、[ジョブを設定] タブが開いている状態の [ジョブの設定] ページを示しています。

    Data Wrangler コンソールでのデータフロー作成ジョブページの例。

    (オプション) 次の操作を行った場合は、[トレーニング済みパラメータ] の下で [再適用] を選択します。

    • データセットをサンプリングした

    • データを使用してデータセットに新しい列を作成する変換を適用した

    データセット全体に対して行った変換を再適用する方法の詳細については、「変換をデータセット全体に再適用してエクスポートする」を参照してください。

  6. [ジョブの設定] を選択します。

  7. (オプション) Data Wrangler ジョブを設定します。次の設定を行うことができます。

    • ジョブ設定

    • Spark メモリ設定

    • ネットワーク構成

    • タグ

    • パラメータ

    • アソシエイトスケジュール

  8. [Run] (実行) を選択します。

Jupyter notebook

Amazon Feature Store にエクスポートするには、Jupyter Notebook SageMaker に次の手順を使用します。

次の手順を使用して Jupyter Notebook を生成し、それを実行して Data Wrangler フローを特徴量ストアにエクスポートします。

  1. エクスポートするノードの横にある [+] を選択します。

  2. [エクスポート先] を選択します。

  3. Amazon SageMaker Feature Store (Jupyter Notebook 経由) を選択します。

  4. Jupyter Notebook を実行します。

Data Wrangler コンソールで Data Wrangler フローをエクスポートする方法を示すデータフローの例。

Jupyter Notebook を実行すると、Data Wrangler ジョブが実行されます。Data Wrangler ジョブを実行すると、 SageMaker処理ジョブが開始されます。処理ジョブは、オンラインおよびオフラインの特徴量ストアにフローを取り込みます。

重要

このノートブックの実行に使用するIAMロールには、次のものが必要です。 AWS アタッチされた マネージドポリシー: AmazonSageMakerFullAccessおよび AmazonSageMakerFeatureStoreAccess

特徴量グループの作成時にオンラインまたはオフラインの Feature Store を 1 つのみ有効にする必要があります。両方を有効にすることもできます。オンラインストアの作成を無効にするには、EnableOnlineStoreFalse に設定します。

# Online Store Configuration online_store_config = { "EnableOnlineStore": False }

ノートブックは、エクスポートするデータフレームの列名とタイプを使用して、特徴量グループの作成に使用される特徴グループスキーマを作成します。特徴グループは、レコードを記述するために Feature Store で定義される特徴のグループです。特徴グループは、特徴グループに含まれるスキーマと特徴を定義します。特徴グループ定義は、特徴のリスト、レコード識別子の特徴名、イベント時間特徴名、オンラインストア、オフラインストアの設定で構成されます。

特徴グループ内の各特徴には、文字列分数整数のいずれか 1 つの型を使用できます。エクスポートされたデータフレーム内の列がこれらのタイプのいずれにもない場合、デフォルトは String になります。

以下は、特徴グループスキーマの例です。

column_schema = [ { "name": "Height", "type": "long" }, { "name": "Input", "type": "string" }, { "name": "Output", "type": "string" }, { "name": "Sum", "type": "string" }, { "name": "Time", "type": "string" } ]

さらに、レコード識別子名とイベント時間特徴名を指定する必要があります。

  • レコード識別子名は、特徴量ストアで定義されているレコードを一意に識別する値を持つ特徴量の名前です。オンラインストアには識別子ごとに最新のレコードのみが保存されます。レコード識別子の特徴名は、特徴定義の名前の 1 つである必要があります。

  • イベント時間の特徴量名は、特徴量グループ内のレコードの EventTime を保存する特徴量の名前です。EventTime は、特徴でのレコードの作成または更新に対応する新しいイベントが発生した時点です。特徴グループのすべてのレコードに、対応する EventTime が必要です。

ノートブックはこれらの設定を使用して特徴グループを作成し、データを大規模に処理して、処理されたデータをオンラインおよびオフラインの Feature Store に取り込みます。詳細については、「データソースと取り込み」を参照してください。

ノートブックはこれらの設定を使用して特徴グループを作成し、データを大規模に処理して、処理されたデータをオンラインおよびオフラインの Feature Store に取り込みます。詳細については、「データソースと取り込み」を参照してください。

変換をデータセット全体に再適用してエクスポートする

データをインポートすると、Data Wrangler はデータのサンプルを使用してエンコーディングを適用します。デフォルトでは、Data Wrangler は最初の 50,000 行をサンプルとして使用しますが、データセット全体をインポートすることも、別のサンプリング方法を使用することもできます。詳細については、「[Import](インポート)」を参照してください。

次の変換では、データを使用してデータセットに列を作成します。

サンプリングを使用してデータをインポートした場合、前述の変換ではサンプルのデータのみを使用して列を作成します。この変換では、関連するデータがすべて使用されていない可能性があります。例えば、[カテゴリ別にエンコードする] 変換を使用する場合、データセット全体に、サンプルには存在しなかったカテゴリがあった可能性があります。

宛先ノードまたは Jupyter Notebook を使用して、変換をデータセット全体に再適用できます。Data Wrangler がフロー内の変換をエクスポートすると、 SageMaker 処理ジョブが作成されます。処理ジョブが完了すると、Data Wrangler は次のファイルをデフォルトの Amazon S3 の場所または指定した S3 の場所のいずれかに保存します。

  • データセットに再適用する変換を指定する Data Wrangler フローファイル

  • 再適用変換が適用されたデータセット

Data Wrangler 内で Data Wrangler フローファイルを開き、その変換を別のデータセットに適用できます。例えば、トレーニングデータセットに変換を適用した場合、Data Wrangler フローファイルを開いて使用すると、推論に使用されるデータセットに変換を適用できます。

宛先ノードを使用して変換を再適用してエクスポートする方法については、以下のページを参照してください。

以下の手順に従って、Jupyter Notebook を実行して変換を再適用し、データをエクスポートします。

Jupyter Notebook を実行し、変換を再適用して Data Wrangler フローをエクスポートするには、以下の手順に従います。

  1. エクスポートするノードの横にある [+] を選択します。

  2. [エクスポート先] を選択します。

  3. データをエクスポートする場所を選択します。

  4. refit_trained_params オブジェクトの場合、refitTrue に設定します。

  5. output_flow フィールドには、再適用変換を含む出力フローファイルの名前を指定します。

  6. Jupyter Notebook を実行します。

新しいデータを自動的に処理するスケジュールを作成する

データを定期的に処理する場合は、処理ジョブを自動的に実行するスケジュールを作成できます。例えば、新しいデータを取得したときに処理ジョブを自動的に実行するスケジュールを作成できます。ジョブの処理の詳細については、「Amazon S3 へのエクスポート」および「Amazon SageMaker Feature Store へのエクスポート」を参照してください。

ジョブを作成するときは、ジョブを作成するアクセス許可を持つ IAMロールを指定する必要があります。デフォルトでは、Data Wrangler へのアクセスに使用するIAMロールは ですSageMakerExecutionRole

次のアクセス許可により、Data Wrangler は にアクセスして処理ジョブを実行 EventBridge EventBridge できるようになります。

  • 以下を追加する AWS Data Wrangler に を使用するアクセス許可を付与する Amazon SageMaker Studio Classic 実行ロールへの管理ポリシー EventBridge:

    arn:aws:iam::aws:policy/AmazonEventBridgeFullAccess

    ポリシーの詳細については、「」を参照してください。 AWS の マネージドポリシー EventBridge

  • Data Wrangler でジョブを作成するときに指定するIAMロールに次のポリシーを追加します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:StartPipelineExecution", "Resource": "arn:aws:sagemaker:Region:AWS-account-id:pipeline/data-wrangler-*" } ] }

    デフォルトIAMロールを使用している場合は、前述のポリシーを Amazon SageMaker Studio Classic 実行ロールに追加します。

    次の信頼ポリシーをロールに追加して、 が EventBridge 引き受けることを許可します。

    { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" }
重要

スケジュールを作成すると、Data Wrangler は eventRuleに を作成します EventBridge。作成したイベントルールと、処理ジョブの実行に使用したインスタンスの両方に料金が発生します。

EventBridge 料金の詳細については、「Amazon の EventBridge 料金」を参照してください。ジョブの料金処理の詳細については、「Amazon の SageMaker 料金」を参照してください。

次のいずれかの方法を使用して、ジョブのスケジュールを設定できます。

  • CRON 式

    注記

    Data Wrangler は次の式をサポートしていません。

    • LW#

    • 曜日の略語

    • 月の略語

  • RATE 式

  • 繰り返し – ジョブを実行する間隔を 1 時間ごとまたは 1 日ごとに設定します。

  • 特定の時間 – ジョブを実行する特定の曜日と時間を設定します。

以下のセクションでは、ジョブの作成手順について説明します。

CRON

CRON 式を使用してスケジュールを作成するには、次の手順に従います。

CRON 式を使用してスケジュールを指定するには、次の手順を実行します。

  1. Data Wrangler フローを開きます。

  2. [ジョブの作成]を選択します。

  3. (オプション) 出力KMSキー で、 を指定します。 AWS KMS キーを使用してジョブの出力を設定します。

  4. [次へ、2. ジョブの設定]を選択します。

  5. [スケジュールの関連付け] を選択します。

  6. [新しいスケジュールの作成] を選択します。

  7. [スケジュール名] にスケジュールの名前を指定します。

  8. 実行頻度 で、 を選択しますCRON

  9. 有効なCRON式を指定します。

  10. [Create] (作成) を選択します。

  11. (オプション) 追加のスケジュールでジョブを実行するには、[別のスケジュールを追加] を選択します。

    注記

    最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

  12. 以下のうちのひとつを選択します。

    • スケジュールして今すぐ実行 – Data Wrangler ジョブはただちに実行され、その後はスケジュールに従って実行されます。

    • スケジュールのみ – Data Wrangler ジョブは指定したスケジュールでのみ実行されます。

  13. [実行] を選択します。

RATE

RATE 式を使用してスケジュールを作成するには、次の手順に従います。

RATE 式を使用してスケジュールを指定するには、次の手順を実行します。

  1. Data Wrangler フローを開きます。

  2. [ジョブの作成]を選択します。

  3. (オプション) 出力KMSキー で、 を指定します。 AWS KMS キーを使用してジョブの出力を設定します。

  4. [次へ、2. ジョブの設定]を選択します。

  5. [スケジュールの関連付け] を選択します。

  6. [新しいスケジュールの作成] を選択します。

  7. [スケジュール名] にスケジュールの名前を指定します。

  8. [実行頻度][Rate] を選択します。

  9. [値] には整数値を指定します。

  10. [単位] で、次のいずれかを選択します。

    • 時間

    • 日間

  11. [Create] (作成) を選択します。

  12. (オプション) 追加のスケジュールでジョブを実行するには、[別のスケジュールを追加] を選択します。

    注記

    最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

  13. 以下のうちのひとつを選択します。

    • スケジュールして今すぐ実行 – Data Wrangler ジョブはただちに実行され、その後はスケジュールに従って実行されます。

    • スケジュールのみ – Data Wrangler ジョブは指定したスケジュールでのみ実行されます。

  14. [実行] を選択します。

Recurring

以下の手順に従って、ジョブを定期的に実行するスケジュールを作成します。

CRON 式を使用してスケジュールを指定するには、次の手順を実行します。

  1. Data Wrangler フローを開きます。

  2. [ジョブの作成]を選択します。

  3. (オプション) 出力KMSキー で、 を指定します。 AWS KMS キーを使用してジョブの出力を設定します。

  4. [次へ、2. ジョブの設定]を選択します。

  5. [スケジュールの関連付け] を選択します。

  6. [新しいスケジュールの作成] を選択します。

  7. [スケジュール名] にスケジュールの名前を指定します。

  8. [実行頻度] では、デフォルトで [繰り返し] が選択されていることを確認します。

  9. [x 時間ごと] には、1 日にジョブを実行する時間単位の頻度を指定します。有効な値は、1 から 23 までの範囲内の整数です。

  10. [日間] で、次のいずれかのオプションを選択します。

    • 毎日

    • 週末

    • 平日

    • 曜日を選択

    1. (オプション) [曜日を選択] を選択した場合は、ジョブを実行する曜日を選択します。

    注記

    スケジュールは毎日リセットされます。5 時間ごとに実行するようにジョブをスケジュールすると、ジョブは 1 日のうち次の時間に実行されます。

    • 00:00

    • 05:00

    • 10:00

    • 15:00

    • 20:00

  11. [Create] (作成) を選択します。

  12. (オプション) 追加のスケジュールでジョブを実行するには、[別のスケジュールを追加] を選択します。

    注記

    最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

  13. 以下のうちのひとつを選択します。

    • スケジュールして今すぐ実行 – Data Wrangler ジョブはただちに実行され、その後はスケジュールに従って実行されます。

    • スケジュールのみ – Data Wrangler ジョブは指定したスケジュールでのみ実行されます。

  14. [実行] を選択します。

Specific time

次の手順を使用して、ジョブを特定の時間に実行するスケジュールを作成します。

CRON 式を使用してスケジュールを指定するには、次の手順を実行します。

  1. Data Wrangler フローを開きます。

  2. [ジョブの作成]を選択します。

  3. (オプション) 出力KMSキー で、 を指定します。 AWS KMS キーを使用してジョブの出力を設定します。

  4. [次へ、2. ジョブの設定]を選択します。

  5. [スケジュールの関連付け] を選択します。

  6. [新しいスケジュールの作成] を選択します。

  7. [スケジュール名] にスケジュールの名前を指定します。

  8. [Create] (作成) を選択します。

  9. (オプション) 追加のスケジュールでジョブを実行するには、[別のスケジュールを追加] を選択します。

    注記

    最大 2 つのスケジュールを関連付けることができます。スケジュールは独立しており、時間が重複しない限り互いに影響しません。

  10. 以下のうちのひとつを選択します。

    • スケジュールして今すぐ実行 – Data Wrangler ジョブはただちに実行され、その後はスケジュールに従って実行されます。

    • スケジュールのみ – Data Wrangler ジョブは指定したスケジュールでのみ実行されます。

  11. [実行] を選択します。

Amazon SageMaker Studio Classic を使用して、実行がスケジュールされているジョブを表示できます。処理ジョブはパイプライン内で実行されます。処理ジョブにはそれぞれ独自のパイプラインがあります。これはパイプライン内の処理ステップとして実行されます。パイプライン内で作成したスケジュールを表示できます。パイプラインの表示の詳細については、「パイプラインの表示」を参照してください。

スケジュールしたジョブを表示するには、次の手順を使用します。

スケジュールしたジョブを表示するには、以下を実行します。

  1. Amazon SageMaker Studio Classic を開きます。

  2. オープンパイプライン

  3. 作成したジョブのパイプラインを表示します。

    ジョブを実行するパイプラインは、ジョブ名をプレフィックスとして使用します。例えば、housing-data-feature-enginnering という名前のジョブを作成した場合、パイプラインの名前は data-wrangler-housing-data-feature-engineering です。

  4. ジョブを含むパイプラインを選択します。

  5. パイプラインのステータスを表示します。[ステータス][成功] のパイプラインは、処理ジョブを正常に実行しています。

処理ジョブの実行を停止するには、以下を実行します。

処理ジョブの実行を停止するには、スケジュールを指定するイベントルールを削除します。イベントルールを削除すると、そのスケジュールに関連するすべてのジョブの実行が停止します。ルールの削除については、「Amazon EventBridge ルールの無効化または削除」を参照してください。

スケジュールに関連付けられているパイプラインを停止したり削除したりすることもできます。パイプラインの停止については、「」を参照してくださいStopPipelineExecution。パイプラインの削除については、「」を参照してくださいDeletePipeline