

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

# 異なるデータセットのデータフローの再利用
<a name="data-wrangler-parameterize"></a>

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

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

一般に、パラメータには以下の属性があります。
+ 名前 – パラメータに指定する名前
+ タイプ – パラメータが表す値のタイプ
+ デフォルト値 – 新しい値を指定しない場合のパラメータの値

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

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

インポートした Amazon S3 データソースを編集するときに、パラメータを作成します。ファイルパスの任意の部分をパラメータ値に設定できます。パラメータ値は、値またはパターンに設定できます。Data Wrangler フローでは以下のパラメータ値タイプを使用できます。
+ Number
+ String
+ パターン
+ 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+` は任意の 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 years` や `24 hours` などの間隔に設定できます。間隔 `1 years` は、現在時刻と現在時刻の 1 年前の時刻との間にあるすべての S3 パスと一致します。現在時刻は、データに対して行った変換のエクスポートを開始する時刻です。データのエクスポートの詳細については、「[エクスポート](data-wrangler-data-export.md)」を参照してください。現在の日付が 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 パスを含むテキストボックスの右側にある「\$1\$1\$1\$1」を選択します。作成したパラメータが不要になった場合は、編集または削除できます。パラメータを編集または削除するには、パラメータの右側にあるアイコンを選択します。

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

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

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

**注記**  
以下のセクションには、Data Wrangler インターフェースを使用してパラメータを上書きし、処理ジョブを作成する手順が含まれています。  
次の手順を使用してパラメータを上書きすることもできます。  
Data Wrangler フローをエクスポートしてパラメータの値を上書きするには、次の操作を行います。  
エクスポートするノードの隣にある **[\$1]** を選択します。
**[エクスポート先]** を選択します。
データをエクスポートする場所を選択します。
`parameter_overrides` で、作成したパラメータに異なる値を指定します。
Jupyter ノートブックを実行します。

## パターンを使用して Data Wrangler フローをファイルに適用する
<a name="data-wrangler-pattern-parameters"></a>

パラメータを使用して、Data Wrangler フローの変換を Amazon S3 URI パスのパターンに一致するさまざまなファイルに適用できます。これにより、S3 バケット内のファイルを非常に詳細に指定できます。例えば、`s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv` というパスのデータセットがあるとします。`example-dataset.csv` という名前の異なるデータセットが、多くの異なるプレフィックスの例が付けられて保存されています。プレフィックスには順番に番号が付けられている場合もあります。Amazon S3 URI の数値のパターンを作成できます。パターンパラメータは正規表現を使用して、式のパターンに一致するファイルをいくつでも選択します。以下は役に立つかもしれない正規表現パターンです。
+ `.*` – 改行文字を除く任意の文字の 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. インポートしたデータセットの横にある **[データセットの編集]** を選択します。

1. `example-prefix-0` の `0` を強調表示します。

1. 以下のフィールドに値を指定します。
   + **[名前]** – パラメータの名前
   + **[タイプ]** – **[パターン]**
   + **[値]** – **[\$1d\$1]** 1 つ以上の数字に対応する正規表現

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

1. S3 URI パスの `1` と `2` をパラメータに置き換えます。パスは次の形式である必要があります。`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 フローに移動します。

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

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

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

1. 以下のフィールドに値を指定します。
   + **[名前]** – パラメータの名前
   + **[タイプ]** – **[パターン]**
   + **[値]** – 保存したいパターンを含む正規表現。

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

## 数値を使用して Data Wrangler フローをファイルに適用します。
<a name="data-wrangler-numeric-parameters"></a>

パラメータを使用して、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 フローに移動します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## 文字列を使用して Data Wrangler フローをファイルに適用する
<a name="data-wrangler-string-parameters"></a>

パラメータを使用して、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 フローに移動します。

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

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

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

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

1. **[型]** で、**[文字列]** を選択します。

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

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

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

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

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

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

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

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

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

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

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

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

## Data Wrangler フローをさまざまな日時範囲に適用する
<a name="data-wrangler-datetime-parameters"></a>

日時パラメータを使用して、Data Wrangler フローの変換をさまざまな時間範囲に適用します。Amazon S3 URI のタイムスタンプのある部分を強調表示し、そのためのパラメータを作成します。パラメータを作成するときは、現在の時刻から過去の時刻までの時間範囲を指定します。例えば、次のような Amazon S3 URI があるとします。`s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv`。`2022/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. 使用するすべての変換を含む宛先ノードを作成します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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