データを処理する - Amazon SageMaker

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

データを処理する

データを処理したり、機械学習ワークフローに適した場所にエクスポートしたりできます。例えば、変換されたデータを Canvas SageMaker データセットとしてエクスポートし、そこから機械学習モデルを作成できます。

データをエクスポートしたら、モデルの作成を選択して、データから機械学習モデルを作成できます。モデル作成についての詳細は、カスタムモデルを構築する を参照してください。

重要

Canvas SageMaker データセットには 5 GB の制限があることに注意してください。5 GB を超えるデータを処理している場合は、サンプリング変換を使用して、エクスポートする前にデータセットのサイズを小さくすることができます。または、より大きなデータセットを Amazon S3 にエクスポートすることもできます。データセットのインポートの詳細については、「」を参照してくださいデータセットを作成する

Data Wrangler データフロー内でデータをインタラクティブに操作している間、 SageMaker Canvas はサンプルデータセットにのみ変換を適用してプレビューします。インポートしたすべてのデータを処理するには、データのエクスポート を選択します。ビッグデータを処理するために複数のコンピューティングインスタンスにスケールする必要がある場合は、 を選択します処理ジョブを使用してデータをエクスポートする。データフローをエクスポートし、機械学習ワークフローの一部として Jupyter Notebook を使用して実行する場合は、データフローのエクスポート を選択できます。

データのエクスポート

データをエクスポートして、データフローからインポートされたデータセット全体に変換を適用します。データフロー内の任意のノードを次の場所にエクスポートできます。

  • SageMaker Canvas データセット

  • Amazon S3

Amazon S3 では、データを次のいずれかのファイルタイプとしてエクスポートできます。

  • CSV

  • Parquet

変換したデータ (最大 5 GB) を Canvas SageMaker データセットとしてエクスポートしてモデルを作成できます。次の手順を使用して、データフロー内のノードから Canvas SageMaker データセットをエクスポートします。

フロー内のノードを Canvas SageMaker データセットとしてエクスポートするには
  1. データフローに移動します。

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

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

  4. Canvas データセット を選択します。

  5. [エクスポート] をクリックします。

データセットを Amazon S3 にエクスポートして、変換したデータを Canvas SageMaker の外部にある機械学習ワークフローで使用します。

フロー内のノードを Amazon S3 にエクスポートするには
  1. データフローに移動します。

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

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

  4. [Amazon S3] を選択します。

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

    • Amazon S3 の場所 – ファイルをエクスポートする S3 の場所。Amazon S3 の場所またはアクセスポイントの S3 URI、エイリアス、または ARN を入力できます。 Amazon S3 Amazon S3 アクセスポイントの詳細については、Amazon S3ユーザーガイド」のAmazon S3アクセスポイント」を参照してください。

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

    • 区切り文字 – ファイル内の値を区切るために使用される値。

    • 圧縮 (オプション) — ファイルサイズを小さくするために使用される圧縮方法。次の圧縮方法を使用できます。

      • なし

      • bzip2

      • deflate

      • gzip

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

  6. [エクスポート] をクリックします。

処理ジョブを使用してデータをエクスポートする

Amazon SageMaker 処理ジョブを作成して、データフローを使用して複数のコンピューティングインスタンスを持つ大規模なデータセットの処理を高速化します。

SageMaker 処理ジョブを作成するには、次の手順を実行します。

  1. 宛先ノードを作成する

  2. ジョブの作成

送信先ノードは、処理したデータの保存場所を SageMaker Canvas に指示します。変換されたデータを宛先ノードで指定された場所に出力する処理ジョブを作成します。処理ジョブを作成すると、データと出力を Amazon S3 に変換するために指定された計算リソースにスケールされます。

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

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

送信先ノードを作成するには、次の手順に従います。

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

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

  3. [Amazon S3] を選択します。

  4. 以下のフィールドを指定します。

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

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

    • 区切り文字 – 他の値を区切るために使用される値。

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

      • bzip2

      • deflate

      • gzip

    • Amazon S3 の場所 – ファイルの出力に使用する S3 の場所。

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

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

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

同じデータフロー内に複数の宛先ノードを作成できます。処理ジョブを作成すると、データに対して異なる変換セットを同時に実行し、異なる Amazon S3 の場所に保存できます。

データフローのエクスポート

データフローをエクスポートすると、Data Wrangler で行った操作が変換され、変更して実行できる Jupyter Notebook にエクスポートされます。

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

送信先ノードを使用する代わりに、データフローのエクスポートオプションを使用して、Jupyter Notebook を使用して Data Wrangler フローを Amazon S3 にエクスポートできます。出力コードを機械学習パイプラインに統合できます。データフロー内の任意のデータノードを選択してエクスポートできます。データノードをエクスポートすると、ノードが表す変換とその前の変換がエクスポートされます。

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

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

  2. データフローのエクスポート を選択します。

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

    • Amazon S3 に (Jupyter Notebook 経由で) 保存します

    • Amazon Personalize

  4. 次のいずれかを選択します。

    • ローカルコピーをダウンロードする

    • S3 ロケーションへのエクスポート

  5. Amazon S3 にエクスポートする場合は、ノートブックをエクスポートする S3 の場所を指定します。

  6. [エクスポート] をクリックします。

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

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

ジョブを作成するときは、ジョブを作成するアクセス許可を持つ IAM ロールを指定する必要があります。AmazonSageMakerCanvasDataPrepFullAccess ポリシーを使用してアクセス許可を追加できます。

次の信頼ポリシーをロールに追加して、 がロール 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. [次へ] をクリックします。

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

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

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

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

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

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

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

    注記

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

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

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

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

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

RATE

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

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

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

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

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

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

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

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

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

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

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

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

    • 時間

    • 日間

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

  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. [作成] を選択します。

  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. [作成] を選択します。

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

    注記

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

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

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

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

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

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

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

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

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

  2. SageMaker パイプラインを開く

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

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

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

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

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

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

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

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

データをインポートすると、Data Wrangler はデータのサンプルを使用してエンコーディングを適用します。Data Wrangler は、最初の 20,000 行をサンプルとして使用します。

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

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

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

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

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

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

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

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

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

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

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

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

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

  6. Jupyter Notebook を実行します。