異なるデータセットのデータフローの再利用 - Amazon SageMaker

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

異なるデータセットのデータフローの再利用

Amazon Simple Storage Service (Amazon S3) データソースでは、パラメータを作成して使用できます。パラメータは、Data Wrangler フローに保存した変数です。その値は、データソースの Amazon S3 パスのどの部分でもかまいません。パラメータを使用すると、Data Wrangler フローにインポートするデータや、処理ジョブにエクスポートするデータをすばやく変更できます。パラメータを使用して、データの特定のサブセットを選択してインポートすることもできます。

Data Wrangler フローを作成した後、変換したデータに基づいてモデルをトレーニングした可能性があります。スキーマが同じデータセットの場合、パラメータを使用して同じ変換を別のデータセットに適用し、別のモデルをトレーニングできます。新しいデータセットを使用してモデルを推論することも、モデルを再トレーニングするためにも使用できます。

一般に、パラメータには以下の属性があります。

  • 名前 – パラメータに指定する名前

  • タイプ – パラメータが表す値のタイプ

  • デフォルト値 – 新しい値を指定しない場合のパラメータの値

注記

日時パラメータには、デフォルト値として使用される時間範囲属性があります。

Data Wrangler は、Amazon S3 パスでパラメータが使用されていることを示すために中括弧 {{}} を使用します。例えば、 URLなどの を使用できますs3://amzn-s3-demo-bucket1/{{example_parameter_name}}/example-dataset.csv

インポートした Amazon S3 データソースを編集するときに、パラメータを作成します。ファイルパスの任意の部分をパラメータ値に設定できます。パラメータ値は、値またはパターンに設定できます。Data Wrangler フローでは以下のパラメータ値タイプを使用できます。

  • 文字列

  • パターン

  • Datetime

注記

Amazon S3 パス内のバケット名のパターンパラメータまたは日時パラメータを作成することはできません。

数値パラメータのデフォルト値として数値を設定する必要があります。パラメータの編集時や処理ジョブの起動時に、パラメータ値を別の数値に変更できます。例えば、S3 パス s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv では、1 の代わりに number_parameter という名前の数値パラメータを作成できます。これで S3 パスは s3://amzn-s3-demo-bucket/example-prefix/example-file-{{number_parameter}}.csv と表示されます。パラメータの値を変更するまで、パスは example-file-1.csv データセットを指し続けます。number_parameter の値を 2 に変更すると、そのパスは s3://amzn-s3-demo-bucket/example-prefix/example-file-2.csv になります。Amazon S3 の場所にファイルをアップロードしていれば、Data Wrangler に example-file-2.csv をインポートできます。

文字列パラメータは、文字列をデフォルト値として保存します。例えば、S3 パス s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv では、ファイル名 example-file-1.csv の代わりに string_parameter という名前の文字列パラメータを作成できます。これで、パスは s3://amzn-s3-demo-bucket/example-prefix/{{string_parameter}} と表示されます。パラメータの値を変更するまで s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv と一致します。

ファイル名を文字列パラメータとして指定する代わりに、Amazon S3 パス全体を使用して文字列パラメータを作成できます。文字列パラメータでは、Amazon S3 の任意の場所からデータセットを指定できます。

パターンパラメータは、正規表現 (Python REGEX) 文字列をデフォルト値として保存します。パターンパラメータを使用して、複数のデータファイルを同時にインポートできます。一度に複数のオブジェクトをインポートするには、インポートする Amazon S3 オブジェクトと一致するパラメータ値を指定します。

以下のデータセットのパターンパラメータを作成することもできます。

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-2.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-10.csv

  • s3://amzn-s3-demo-bucket/example-prefix/example-file-0123.csv

s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv では、1 の代わりにパターンパラメータを作成し、そのパラメータのデフォルト値を \d+ に設定できます。\d+ REGEX 文字列は 1 つ以上の 10 進数と一致します。pattern_parameter という名前のパターンパラメータを作成すると、S3 パスは s3://amzn-s3-demo-bucket1/example-prefix/example-file-{{pattern_parameter}}.csv と表示されます。

パターンパラメータを使用して、バケット内のすべてのCSVオブジェクトを一致させることもできます。バケット内のすべてのオブジェクトを照合するには、デフォルト値を .* に設定してパターンパラメータを作成し、パスを s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv に設定します。文字 .* はパス内の任意の文字列の文字と一致します。

パス s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv は次のデータセットと一致させることができます。

  • example-file-1.csv

  • other-example-file.csv

  • example-file-a.csv

日時パラメータには、以下の情報を含むフォーマットが保存されます。

  • Amazon S3 パス内の文字列を解析するためのフォーマット。

  • 一致する日時値を制限する相対的な時間範囲。

例えば、Amazon S3 ファイルパス s3://amzn-s3-demo-bucket/2020/01/01/example-dataset.csv では、2020/01/01 は year/month/day という形式の日時を表します。パラメータの時間範囲は、1 years24 hours などの間隔に設定できます。間隔 1 years は、現在時刻と現在時刻の 1 年前の時刻との間にあるすべての S3 パスと一致します。現在時刻は、データに対して行った変換のエクスポートを開始する時刻です。データのエクスポートの詳細については、「[Export] (エクスポート)」を参照してください。現在の日付が 2022/01/01 で、時間範囲が 1 years の場合、S3 パスは次のようなデータセットと一致します。

  • s3://amzn-s3-demo-bucket/2021/01/01/example-dataset .csv

  • s3://amzn-s3-demo-bucket/2021/06/30/example-dataset .csv

  • s3://amzn-s3-demo-bucket/2021/12/31/example-dataset .csv

相対時間範囲内の日時値は、時間が経つにつれて変化します。相対時間範囲内の S3 パスも変わる可能性があります。

Amazon S3 ファイルパス s3://amzn-s3-demo-bucket1/20200101/example-dataset.csv の場合、20220101 は日時パラメータとして使用できるパスの一例です。

Data Wrangler フローで作成したすべてのパラメータの表を表示するには、Amazon S3 パスを含むテキストボックスの右側にある「{{}}」を選択します。作成したパラメータが不要になった場合は、編集または削除できます。パラメータを編集または削除するには、パラメータの右側にあるアイコンを選択します。

重要

パラメータを削除する前に、Data Wrangler フローのどこにも使用していないことを確認してください。削除したパラメータがフロー内に残っていると、エラーが発生します。

Data Wrangler フローのどのステップでもパラメータを作成できます。作成したパラメータは編集または削除できます。ユースケースに関係のないデータに変換を適用する場合は、パラメータの値を変更できます。パラメータの値を変更すると、インポートするデータが変更されます。

以下のセクションでは、パラメータの使用に関するその他の例と一般的なガイダンスを示します。これらのセクションを参考にして、自分にとって最適なパラメータを理解することができます。

注記

以下のセクションには、Data Wrangler インターフェースを使用してパラメータを上書きし、処理ジョブを作成する手順が含まれています。

次の手順を使用してパラメータを上書きすることもできます。

Data Wrangler フローをエクスポートしてパラメータの値を上書きするには、次の操作を行います。

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

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

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

  4. parameter_overrides で、作成したパラメータに異なる値を指定します。

  5. Jupyter ノートブックを実行します。

パラメータを使用して、Amazon S3 URIパスのパターンに一致するさまざまなファイルに Data Wrangler フローの変換を適用できます。これにより、S3 バケット内のファイルを非常に詳細に指定できます。例えば、s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv というパスのデータセットがあるとします。example-dataset.csv という名前の異なるデータセットが、多くの異なるプレフィックスの例が付けられて保存されています。プレフィックスには順番に番号が付けられている場合もあります。Amazon S3 の数値のパターンを作成できますURI。パターンパラメータはREGEX、 を使用して、式のパターンに一致する任意の数のファイルを選択します。以下は、役立つ可能性のあるREGEXパターンです。

  • .* – 改行文字を除く任意の文字の 0 個以上と一致します。

  • .+ – 改行文字を除く任意の文字の 1 つ以上と一致します。

  • \d+ – 任意の 10 進数の 1 つ以上の数字と一致します。

  • \w+ – 1 つ以上の英数字と一致します。

  • [abc-_]{2,4} – 括弧で囲まれた文字セットで構成される 2 文字、3 文字、または 4 文字の文字列と一致します。

  • abc|def – 1 つの文字列または別の文字列と一致します。例えば、オペレーションは abc または def のいずれかに一致します。

以下のパス内の各数値を、値が \d+ の 1 つのパラメータに置き換えることができます。

  • s3://amzn-s3-demo-bucket1/example-prefix-3/example-prefix-4/example-prefix-5/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix-8/example-prefix-12/example-prefix-13/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix-4/example-prefix-9/example-prefix-137/example-dataset.csv

以下の手順では、パス s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv を含むデータセットのパターンパラメータを作成します。

パターンパラメータを作成するには、次の手順を実行します。

  1. インポートしたデータセットの横にある [データセットの編集] を選択します。

  2. example-prefix-00 を強調表示します。

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

    • [名前] – パラメータの名前

    • [タイプ][パターン]

    • [値][\d+] 1 つ以上の数字に対応する正規表現

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

  5. S3 URIパス21と を パラメータに置き換えます。パスは次の形式である必要があります。s3://amzn-s3-demo-bucket1/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-dataset.csv

以下は、パターンパラメータを作成する一般的な手順です。

  1. Data Wrangler フローに移動します。

  2. インポートしたデータセットの横にある [データセットの編集] を選択します。

  3. パターンパラメータの値としてURI使用している の部分を強調表示します。

  4. [カスタムパラメータの作成] を選択します。

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

    • [名前] – パラメータの名前

    • [タイプ][パターン]

    • [値] – 保存したいパターンを含む正規表現。

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

パラメータを使用して、Data Wrangler フロー内の変換を、同じようなパスを持つさまざまなファイルに適用できます。例えば、パス s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv を含むデータセットがあるとします。

Data Wrangler フローの変換を、example-prefix-1 の下のデータセットに適用したことがあるかもしれません。example-prefix-10 または example-prefix-20 に分類された example-dataset.csv にも同じ変換を適用したい場合があります。

1 を保存するパラメータを作成できます。変換をさまざまなデータセットに適用する場合は、パラメータの値を別の値に置き換える処理ジョブを作成できます。このパラメータは、Data Wrangler フローの変換を新しいデータに適用するときに変更するためのプレースホルダーとして機能します。Data Wrangler 処理ジョブを作成するときにパラメータの値を上書きして、Data Wrangler フロー内の変換をさまざまなデータセットに適用できます。

以下の手順に従って、s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv の数値パラメータを作成します。

前の S3 URIパスのパラメータを作成するには、以下を実行します。

  1. Data Wrangler フローに移動します。

  2. インポートしたデータセットの横にある [データセットの編集] を選択します。

  3. example-prefix-number のプレフィックスの例にある数値を強調表示します。

  4. [カスタムパラメータの作成] を選択します。

  5. [名前] に、パラメータの名前を入力します。

  6. [タイプ] には [整数] を選択します。

  7. [値] に数値を指定します。

  8. 残りの数値のパラメータは、手順を繰り返して作成します。

パラメータを作成したら、データセットに変換を適用し、その宛先ノードを作成します。宛先ノードの詳細については、「[Export] (エクスポート)」を参照してください。

以下の手順を使用して、Data Wrangler フローの変換を別の時間範囲に適用します。フロー内の変換の宛先ノードが作成されていることを前提としています。

Data Wrangler 処理ジョブの数値パラメータの値を変更するには、次の操作を行います。

  1. Data Wrangler フローから [ジョブの作成] を選択します

  2. 日時パラメータを含むデータセットへの変換を含む宛先ノードのみを選択します。

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

  4. [Parameters] (パラメータ) を選択します。

  5. 前に作成したパラメータの名前を選択します。

  6. パラメータの値を変更します。

  7. 他のパラメータについても同じ手順を繰り返します。

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

パラメータを使用して、Data Wrangler フロー内の変換を、同じようなパスを持つさまざまなファイルに適用できます。例えば、パス s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv を含むデータセットがあるとします。

Data Wrangler フローの変換を、example-prefix の下のデータセットに適用したことがあるかもしれません。another-example-prefix または example-prefix-20 の下の example-dataset.csv にも同じ変換を適用したい場合があります。

example-prefix を保存するパラメータを作成できます。変換をさまざまなデータセットに適用する場合は、パラメータの値を別の値に置き換える処理ジョブを作成できます。このパラメータは、Data Wrangler フローの変換を新しいデータに適用するときに変更するためのプレースホルダーとして機能します。Data Wrangler 処理ジョブを作成するときにパラメータの値を上書きして、Data Wrangler フロー内の変換をさまざまなデータセットに適用できます。

s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv の文字列パラメータを作成するには、次の手順を使用します。

前述の S3 URIパスのパラメータを作成するには、以下を実行します。

  1. Data Wrangler フローに移動します。

  2. インポートしたデータセットの横にある [データセットの編集] を選択します。

  3. プレフィックスの例 example-prefix を強調表示します。

  4. [カスタムパラメータの作成] を選択します。

  5. [名前] に、パラメータの名前を入力します。

  6. [Type] で、[String] を選択します。

  7. [値] に、プレフィックスを指定します。

パラメータを作成したら、データセットに変換を適用し、宛先ノードを作成します。宛先ノードの詳細については、「[Export] (エクスポート)」を参照してください。

以下の手順を使用して、Data Wrangler フローの変換を別の時間範囲に適用します。フロー内の変換の宛先ノードが作成されていることを前提としています。

Data Wrangler 処理ジョブの数値パラメータの値を変更するには、次の操作を行います。

  1. Data Wrangler フローから [ジョブの作成] を選択します

  2. 日時パラメータを含むデータセットへの変換を含む宛先ノードのみを選択します。

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

  4. [Parameters] (パラメータ) を選択します。

  5. 前に作成したパラメータの名前を選択します。

  6. パラメータの値を変更します。

  7. 他のパラメータについても同じ手順を繰り返します。

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

日時パラメータを使用して、Data Wrangler フローの変換をさまざまな時間範囲に適用します。タイムスタンプURIがある Amazon S3 の部分を強調表示し、そのパラメータを作成します。パラメータを作成するときは、現在の時刻から過去の時刻までの時間範囲を指定します。例えば、Amazon S3 は次のURIようになります。 s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv2022/05/15 を日時パラメータとして保存できます。時間範囲として年を指定した場合、時間範囲には日時パラメータを含む処理ジョブを実行した時点と、ちょうど 1 年前の時刻が含まれます。処理ジョブを実行している時点が 2022 年 9 月 6 日または 2022/09/06 の場合、時間範囲には以下が含まれます。

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/03/15/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/01/08/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/07/31/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2021/09/07/example-dataset.csv

Data Wrangler フローの変換は、前述のすべてのプレフィックスに適用されます。処理ジョブのパラメータの値を変更しても、Data Wrangler フローのパラメータの値は変わりません。異なる時間範囲内のデータセットに変換を適用するには、次の手順を実行します。

  1. 使用するすべての変換を含む宛先ノードを作成します。

  2. Data Wrangler のジョブを作成します。

  3. パラメータに別の時間範囲を使用するようにジョブを設定します。処理ジョブのパラメータの値を変更しても、Data Wrangler フローのパラメータの値は変わりません。

宛先ノードと Data Wrangler ジョブの詳細については、「[Export] (エクスポート)」を参照してください。

以下の手順では、Amazon S3 パス s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv の日時パラメータを作成します。

前述の S3 URIパスの日時パラメータを作成するには、以下を実行します。

  1. Data Wrangler フローに移動します。

  2. インポートしたデータセットの横にある [データセットの編集] を選択します。

  3. datetime パラメータの値としてURI使用している の部分を強調表示します。

  4. [カスタムパラメータの作成] を選択します。

  5. [名前] に、パラメータの名前を入力します。

  6. [タイプ] に、[日時] を選択します。

    注記

    デフォルトでは、Data Wrangler は [事前定義済み] を選択します。これにより、日付形式を選択できるドロップダウンメニューが表示されます。ただし、使用しているタイムスタンプ形式は使用できない場合があります。デフォルトのオプションとして [定義済み] を使用する代わりに、[カスタム] を選択してタイムスタンプ形式を手動で指定できます。

  7. [日付形式] には、[事前定義済み] の下にあるドロップダウンメニューを開き、[YYYY/MM/DD] を選択します。[yyyy/MM/DD] という形式は、タイムスタンプの年/月/日に対応しています。

  8. [タイムゾーン] でタイムゾーンを選択します。

    注記

    分析しているデータには、自分のタイムゾーンとは異なるタイムゾーンで取得されたタイムスタンプが含まれている場合があります。選択するタイムゾーンがデータのタイムゾーンと一致していることを確認してください。

  9. [時間範囲] には、パラメータの時間範囲を指定します。

  10. (オプション) パラメータの使用方法を説明する説明を入力します。

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

日時パラメータを作成したら、データセットに変換を適用し、宛先先ノードを作成します。宛先ノードの詳細については、「[Export] (エクスポート)」を参照してください。

以下の手順を使用して、Data Wrangler フローの変換を別の時間範囲に適用します。フロー内の変換の宛先ノードが作成されていることを前提としています。

Data Wrangler 処理ジョブの日時パラメータの値を変更するには、次の操作を行います。

  1. Data Wrangler フローから [ジョブの作成] を選択します

  2. 日時パラメータを含むデータセットへの変換を含む宛先ノードのみを選択します。

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

  4. [Parameters] (パラメータ) を選択します。

  5. 前に作成した日時パラメータの名前を選択します。

  6. [時間範囲] で、データセットの時間範囲を変更します。

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