翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データを処理する
Amazon SageMaker Data Wrangler データフローでデータをインタラクティブに操作している間、Amazon Canvas SageMaker はサンプルデータセットにのみ変換を適用してプレビューします。 SageMaker Canvas でデータフローを完了したら、すべてのデータを処理して、機械学習ワークフローに適した場所に保存できます。
Data Wrangler でデータを変換した後に進むには、いくつかのオプションがあります。
-
モデル を作成します。Canvas モデルを作成して、準備したデータを使用してモデルの作成を直接開始できます。モデルを作成するには、データセット全体を処理するか、Data Wrangler で操作したサンプルデータのみをエクスポートします。Canvas は、処理されたデータ (データセット全体またはサンプルデータ) を Canvas データセットとして保存します。
サンプルデータを使用してすばやく反復することをお勧めしますが、最終モデルをトレーニングする場合はデータ全体を使用することをお勧めします。表形式モデルを構築する場合、5 GB を超えるデータセットは自動的に 5 GB にダウンサンプリングされ、時系列予測モデルの場合、30 GB を超えるデータセットは 30 GB にダウンサンプリングされます。
モデルの作成の詳細については、「」を参照してくださいカスタムモデルを構築する。
-
データ をエクスポートします。データをエクスポートして、機械学習ワークフローで使用できます。データをエクスポートすることを選択した場合、いくつかのオプションがあります。
-
Canvas アプリケーションにデータをデータセットとして保存できます。Canvas データセットでサポートされているファイルタイプと、Canvas にデータをインポートする際の追加要件の詳細については、「」を参照してくださいデータセットを作成する。
-
Amazon S3 にデータを保存できます。Canvas のメモリの可用性に応じて、データはアプリケーションで処理され、Amazon S3 にエクスポートされます。データセットのサイズが Canvas が処理できるサイズを超える場合、デフォルトでは、Canvas はEMRサーバーレスジョブを使用して複数のコンピューティングインスタンスにスケーリングし、データセット全体を処理して Amazon S3 にエクスポートします。 SageMaker 処理ジョブを手動で設定して、データの処理に使用されるコンピューティングリソースをより詳細に制御することもできます。
-
-
データフロー をエクスポートします。Canvas の外部で変換を変更または実行できるように、データフローのコードを保存することもできます。Canvas では、データフロー変換を Jupyter Notebook に Python コードとして保存し、Amazon S3 にエクスポートして機械学習ワークフローの他の場所で使用できます。
データフローからデータをエクスポートし、Canvas データセットまたは Amazon S3 に保存すると、Canvas はデータフローに新しい宛先ノードを作成します。これは、処理されたデータが保存されている場所を示す最終ノードです。複数のエクスポートオペレーションを実行する場合は、フローに宛先ノードを追加できます。例えば、データフローのさまざまなポイントからデータをエクスポートして変換の一部のみを適用したり、変換したデータを別の Amazon S3 の場所にエクスポートしたりできます。宛先ノードを追加または編集する方法の詳細については、「」を参照してください送信先ノードを追加する。
以下のセクションでは、前述のアクションを実行する方法について説明します。
エクスポートしてモデルを作成する
データフローから数回クリックするだけで、変換されたデータをエクスポートし、Canvas で ML モデルの作成を開始できます。Canvas はデータを Canvas データセットとして保存し、新しいモデルのモデル構築設定ページに移動します。
変換されたデータを使用して Canvas モデルを作成するには:
-
データフローに移動します。
-
エクスポートするノードの横にある省略記号アイコンを選択します。
-
コンテキストメニューから、モデルの作成 を選択します。
-
エクスポートしてモデルサイドパネルに、新しいデータセットのデータセット名を入力します。
-
モデルの構築に進む前に、データセット全体の処理とエクスポートを行うには、データセット全体の処理オプションを選択したままにします。このオプションをオフにすると、データフローで作業しているインタラクティブなサンプルデータを使用してモデルをトレーニングできます。
-
モデル名を入力して、新しいモデルに名前を付けます。
-
問題タイプ 、または構築するモデルのタイプを選択します。 SageMaker Canvas でサポートされているモデルタイプの詳細については、「」を参照してくださいカスタムモデルを構築する。
-
ターゲット列 、またはモデルが予測する値を選択します。
-
エクスポート を選択してモデルを作成します。
新しい Canvas モデルのビルドタブが開き、モデルの設定とトレーニングを完了できます。モデルの構築方法の詳細については、「」を参照してくださいモデルの構築。
データのエクスポート
データをエクスポートして、データフローからインポートされたデータセット全体に変換を適用します。データフロー内の任意のノードを次の場所にエクスポートできます。
-
SageMaker Canvas データセット
-
Amazon S3
Canvas でモデルをトレーニングする場合は、変換された完全なデータセットを Canvas データセットとしてエクスポートできます。Canvas の外部にある機械学習ワークフローで変換されたデータを使用する場合は、データセットを Amazon SageMaker S3 にエクスポートできます。 Amazon S3
Canvas データセットへのエクスポート
次の手順を使用して、データフロー内のノードから Canvas SageMaker データセットをエクスポートします。
フロー内のノードを Canvas SageMaker データセットとしてエクスポートするには
-
データフローに移動します。
-
エクスポートするノードの横にある省略記号アイコンを選択します。
-
コンテキストメニューで、エクスポート にカーソルを合わせ、データを Canvas データセットにエクスポート を選択します。
-
「Canvas へのエクスポート」データセットのサイドパネルに、新しいデータセットのデータセット名を入力します。
-
SageMaker Canvas でデータセット全体を処理して保存する場合は、データセット全体の処理オプションを選択したままにします。このオプションをオフにすると、データフローで作業しているサンプルデータにのみ変換が適用されます。
-
[エクスポート] をクリックします。
これで、Canvas アプリケーションのデータセットページに移動し、新しいデータセットを表示できるようになります。
Amazon S3 へのエクスポート
Amazon S3 にデータをエクスポートする場合、あらゆるサイズのデータを変換して処理するようにスケールできます。アプリケーションのメモリがデータセットのサイズを処理できる場合、Canvas はデータをローカルで自動的に処理します。データセットのサイズがローカルメモリ容量の 5 GB を超える場合、Canvas はユーザーに代わってリモートジョブを開始し、追加のコンピューティングリソースをプロビジョニングしてデータをより迅速に処理します。デフォルトでは、Canvas は Amazon EMR Serverless を使用してこれらのリモートジョブを実行します。ただし、EMRサーバーレスジョブまたは SageMaker 処理ジョブを独自の設定で使用するように Canvas を手動で設定できます。
注記
EMR Serverless ジョブを実行すると、デフォルトでジョブは Canvas アプリケーションのIAMロール、KMSキー設定、タグを継承します。
以下は、Canvas のリモートジョブのオプションをまとめたものです。
-
EMR Serverless : Canvas がリモートジョブに使用するデフォルトのオプションです。EMR サーバーレスは、コンピューティングリソースを自動的にプロビジョニングしてスケーリングし、データを処理します。これにより、ワークロードに適したコンピューティングリソースの選択を心配する必要がなくなります。EMR サーバーレスの詳細については、EMR「サーバーレスユーザーガイド」を参照してください。
-
SageMaker 処理 : SageMaker 処理ジョブは、より高度なオプションを提供し、データの処理に使用されるコンピューティングリソースをきめ細かく制御します。例えば、コンピューティングインスタンスのタイプと数を指定したり、独自の でジョブを設定VPCしたり、ネットワークアクセスを制御したり、処理ジョブを自動化したりできます。処理ジョブの自動化の詳細については、「」を参照してください新しいデータを自動的に処理するスケジュールを作成する。ジョブ SageMaker の処理に関する一般的な情報については、「」を参照してください処理ジョブを使用してデータ変換ワークロードを実行する。
Amazon S3 にエクスポートする場合、次のファイルタイプがサポートされます。
-
CSV
-
Parquet
開始するには、以下の前提条件を参照してください。
EMR Serverless ジョブの前提条件
EMR Serverless リソースを使用するリモートジョブを作成するには、必要なアクセス許可が必要です。Amazon SageMaker ドメインまたはユーザープロファイル設定を使用してアクセス許可を付与することも、ユーザーの を手動で設定することもできます。 AWS IAM ロール。大規模なデータ処理を実行するアクセス許可をユーザーに付与する方法については、「」を参照してくださいML ライフサイクル全体で大規模データを使用するアクセス許可をユーザーに付与する。
これらのポリシーを設定しなくても、Data Wrangler を使用して大規模なデータセットを処理する必要がある場合は、処理 SageMaker ジョブを使用することもできます。
Amazon S3 にデータをエクスポートするには、次の手順に従います。リモートジョブを設定するには、オプションの高度なステップに従います。
フロー内のノードを Amazon S3 にエクスポートするには
-
データフローに移動します。
-
エクスポートするノードの横にある省略記号アイコンを選択します。
-
コンテキストメニューで、エクスポート にカーソルを合わせ、Amazon S3 にデータをエクスポート を選択します。
-
Amazon S3 へのエクスポート サイドパネルで、新しいデータセットのデータセット名を変更できます。
-
S3 ロケーション には、データセットをエクスポートする Amazon S3 ロケーションを入力します。S3 ロケーションまたは S3 URIS3アクセスポイントARNの S3 、エイリアス、または を入力できます。アクセスポイントの詳細については、Amazon S3S3 アクセスポイントによるデータアクセスの管理Amazon S3」を参照してください。
-
(オプション) 詳細設定 で、次のフィールドに値を指定します。
-
ファイルタイプ – エクスポートされたデータのファイル形式。
-
区切り文字 – ファイル内の値を区切るために使用される区切り文字。
-
圧縮 — ファイルサイズを小さくするために使用される圧縮方法。
-
パーティションの数 – Canvas がジョブの出力として書き込むデータセットファイルの数。
-
列の選択 — データから、パーティションに含める列のサブセットを選択できます。
-
-
Canvas でデータフロー変換をデータセット全体に適用し、結果をエクスポートする場合は、データセット全体の処理オプションを選択したままにします。このオプションの選択を解除すると、Canvas はインタラクティブな Data Wrangler データフローで使用されるデータセットのサンプルにのみ変換を適用します。
注記
データのサンプルのみをエクスポートする場合、Canvas はアプリケーション内のデータを処理し、リモートジョブを作成しません。
-
Canvas で Canvas アプリケーションメモリまたは Serverless ジョブのどちらを使用してジョブを実行するかを自動的に決定する場合は、Auto job configuration オプションを選択したままにします。 EMRこのオプションの選択を解除し、ジョブを手動で設定する場合は、EMRサーバーレスジョブまたは SageMaker 処理ジョブのいずれかを使用できます。EMR サーバーレスジョブまたは SageMaker 処理ジョブを設定する方法については、データをエクスポートする前に、この手順の後のセクションを参照してください。
-
[エクスポート] をクリックします。
次の手順は、データセット全体を Amazon S3 にエクスポートするときに、EMRサーバーレスまたは SageMaker 処理のリモートジョブ設定を手動で設定する方法を示しています。
データをエクスポートしたら、完全に処理されたデータセットが指定された Amazon S3 の場所に見つかります。
データフローをエクスポートする
データフローをエクスポートすると、Data Wrangler で行った操作が変換され、変更して実行できる Python コードの Jupyter Notebook にエクスポートされます。これは、データ変換のコードを機械学習パイプラインに統合するのに役立ちます。
データフロー内の任意のデータノードを選択してエクスポートできます。データノードをエクスポートすると、ノードが表す変換とその前の変換がエクスポートされます。
データフローを Jupyter Notebook としてエクスポートするには
-
データフローに移動します。
-
エクスポートするノードの横にある省略記号アイコンを選択します。
-
コンテキストメニューで、エクスポート にカーソルを合わせ、Jupyter Notebook 経由でエクスポート にカーソルを合わせます。
-
以下のうちのひとつを選択します。
-
SageMaker パイプライン
-
Amazon S3
-
SageMaker 推論パイプライン
-
SageMaker Feature Store
-
Python コード
-
-
ノートブックとしてデータフローをエクスポートダイアログボックスが開きます。次のいずれかを選択します。
-
ローカルコピーをダウンロードする
-
S3 ロケーションへのエクスポート
-
-
S3 ロケーション へのエクスポート を選択した場合は、ノートブックをエクスポートする Amazon S3 ロケーションを入力します。
-
[エクスポート] をクリックします。
Jupyter Notebook はローカルマシンにダウンロードするか、指定した Amazon S3 の場所に保存されている必要があります。
送信先ノードの管理
SageMaker Canvas の送信先ノードは、処理および変換されたデータの保存先を指定します。変換されたデータを Amazon S3 にエクスポートすることを選択すると、Canvas は指定された宛先ノードの場所を使用し、データフローで設定したすべての変換を適用します。Amazon S3 へのジョブのエクスポートの詳細については、前のセクション「」を参照してくださいAmazon S3 へのエクスポート。
デフォルトでは、Amazon S3 にデータをエクスポートすることを選択すると、データフローに宛先ノードが追加されます。ただし、フローに複数の宛先ノードを追加できるため、データのさまざまな変換またはバリエーションのセットを異なる Amazon S3 の場所に同時にエクスポートできます。例えば、すべての変換を適用した後にデータをエクスポートする 1 つの送信先ノードと、結合オペレーションなど、特定の初期変換後にのみデータをエクスポートする別の送信先ノードを作成できます。この柔軟性により、変換されたデータのさまざまなバージョンやサブセットを、さまざまなユースケースに合わせて別々の S3 の場所にエクスポートして保存できます。
以下のセクションでは、データフローで宛先ノードを追加および編集する方法について説明します。
送信先ノードを追加する
データフローに宛先ノードを追加するには、次の手順に従います。
宛先ノードを追加するには
-
データフローに移動します。
-
宛先ノードを配置するノードの横にある省略記号アイコンを選択します。
-
コンテキストメニューで、エクスポート にカーソルを合わせ、送信先の追加 を選択します。
-
エクスポート先サイドパネルで、データセット名を入力して出力に名前を付けます。
-
Amazon S3 の場所 には、出力をエクスポートする Amazon S3 の場所を入力します。S3 ロケーションまたは S3 URIS3アクセスポイントARNの S3 、エイリアス、または を入力できます。アクセスポイントの詳細については、Amazon S3S3 アクセスポイントによるデータアクセスの管理Amazon S3」を参照してください。
-
エクスポート設定 には、次のフィールドを指定します。
-
ファイルタイプ — エクスポートされたデータのファイル形式。
-
区切り文字 – ファイル内の値を区切るために使用される区切り文字。
-
圧縮 — ファイルサイズを小さくするために使用される圧縮方法。
-
-
パーティショニング では、次のフィールドを指定します。
-
パーティションの数 – SageMaker Canvas がジョブの出力として書き込むデータセットファイルの数。
-
列の選択 – データから、パーティションに含める列のサブセットを選択できます。
-
-
送信先ノードをデータフローに単純に追加する場合は「追加」を選択し、ノードを追加してエクスポートジョブを開始する場合は「追加」を選択してから「エクスポート」を選択します。
これで、フローに新しい宛先ノードが表示されます。
宛先ノードを編集する
既存の宛先ノードの設定を編集し、ジョブを再実行して、指定した Amazon S3 ロケーションのデータを上書きすることもできます。
次の手順を使用して、データフローの送信先ノードを編集し、エクスポートジョブを開始します。
宛先ノードを編集するには
-
データフローに移動します。
-
編集する宛先ノードの横にある省略記号アイコンを選択します。
-
コンテキストメニューで、編集 を選択します。
-
編集先サイドパネルが開きます。このパネルから、データセット名、Amazon S3 の場所、エクスポートとパーティショニングの設定などの詳細を編集できます。
-
(オプション) をエクスポートする追加のノードで、エクスポートジョブの実行時に処理する送信先ノードをさらに選択できます。
-
Canvas でデータフロー変換をデータセット全体に適用し、結果をエクスポートする場合は、データセット全体の処理オプションを選択したままにします。このオプションの選択を解除すると、Canvas はインタラクティブな Data Wrangler データフローで使用されるデータセットのサンプルにのみ変換を適用します。
-
Canvas で Canvas アプリケーションメモリまたは EMR Serverless ジョブを使用してジョブを実行するかどうかを自動的に判断する場合は、Auto job configuration オプションを選択したままにします。このオプションの選択を解除し、ジョブを手動で設定する場合は、EMRサーバーレスジョブまたは SageMaker 処理ジョブのいずれかを使用できます。EMR サーバーレスジョブまたは SageMaker 処理ジョブを設定する方法については、前のセクション「」を参照してくださいAmazon S3 へのエクスポート。
-
変更が完了したら、更新 を選択します。
送信先ノード設定に変更を保存しても、ジョブが自動的に再実行されたり、すでに処理およびエクスポートされたデータが上書きされたりすることはありません。データをもう一度エクスポートして、新しい設定でジョブを実行します。ジョブでデータを再度エクスポートする場合、Canvas は更新された宛先ノード設定を使用してデータを変換し、指定された場所に出力し、既存のデータを上書きします。
新しいデータを自動的に処理するスケジュールを作成する
注記
次のセクションは、 SageMaker 処理ジョブにのみ適用されます。デフォルトの Canvas 設定または EMR Serverless を使用して、データセット全体に変換を適用するリモートジョブを作成した場合、このセクションは適用されません。
データを定期的に処理する場合は、処理ジョブを自動的に実行するスケジュールを作成できます。例えば、新しいデータを取得したときに処理ジョブを自動的に実行するスケジュールを作成できます。ジョブの処理の詳細については、「」を参照してくださいAmazon S3 へのエクスポート。
ジョブを作成するときは、ジョブを作成するアクセス許可を持つ IAMロールを指定する必要があります。AmazonSageMakerCanvasDataPrepFullAccess ポリシーを使用してアクセス許可を追加できます。
次の信頼ポリシーをロールに追加して、 がロール EventBridge を引き受けることを許可します。
{ "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" }
重要
スケジュールを作成すると、Data Wrangler は eventRule
に を作成します EventBridge。作成したイベントルールと、処理ジョブの実行に使用したインスタンスの両方に料金が発生します。
EventBridge 料金の詳細については、「Amazon の EventBridge 料金
次のいずれかの方法を使用して、ジョブのスケジュールを設定できます。
以下のセクションでは、データを Amazon S3 にエクスポートする際に処理ジョブ設定を入力する SageMakerときにジョブをスケジュールする手順について説明します。以下の手順はすべて、 SageMaker 処理ジョブ設定の「スケジュールの関連付け」セクションで始まります。
を使用できます。 SageMaker AWS Management Console は、実行がスケジュールされているジョブを表示します。処理ジョブはパイプライン内で実行されます。処理ジョブにはそれぞれ独自のパイプラインがあります。これはパイプライン内の処理ステップとして実行されます。パイプライン内で作成したスケジュールを表示できます。パイプラインの表示の詳細については、「パイプラインの表示」を参照してください。
スケジュールしたジョブを表示するには、次の手順を使用します。
スケジュールしたジョブを表示するには、以下を実行します。
-
Amazon SageMaker Studio Classic を開きます。
-
オープンパイプライン
-
作成したジョブのパイプラインを表示します。
ジョブを実行するパイプラインは、ジョブ名をプレフィックスとして使用します。例えば、
housing-data-feature-enginnering
という名前のジョブを作成した場合、パイプラインの名前はcanvas-data-prep-housing-data-feature-engineering
です。 -
ジョブを含むパイプラインを選択します。
-
パイプラインのステータスを表示します。[ステータス] が [成功] のパイプラインは、処理ジョブを正常に実行しています。
処理ジョブの実行を停止するには、以下を実行します。
処理ジョブの実行を停止するには、スケジュールを指定するイベントルールを削除します。イベントルールを削除すると、そのスケジュールに関連するすべてのジョブの実行が停止します。ルールの削除については、「Amazon EventBridge ルールの無効化または削除」を参照してください。
スケジュールに関連付けられているパイプラインを停止したり削除したりすることもできます。パイプラインの停止については、「」を参照してくださいStopPipelineExecution。パイプラインの削除については、「」を参照してくださいDeletePipeline。