グローバル・オブジェクトを使用して構成可能な定数を作成し、実行時にパイプラインを構成します。 値をハードコーディングするのではなく、実行時に値を指定するには、パイプラインでパラメーターまたはユーザー変数を使用します。 パイプライン・パラメーターとは異なり、ユーザー変数はフロー中に動的に設定できます。
以下の作成について説明します:
パイプライン・パラメーター
パイプライン・パラメーターを使用して、パイプライン実行時に値を指定します。 例えば、ユーザーにパイプライン出力用のデプロイメント・スペースを入力させる場合は、パラメーターを使用して、パイプラインの実行時に使用するスペース名の入力を求めるプロンプトを出します。 ジョブを実行するたびにパラメーターの値を指定すると、正しいリソースを使用するのに役立ちます。
パイプライン・パラメーターについて:
- ノード値として割り当てることも、パイプライン・ジョブに割り当てることもできます。
- 任意のノードに割り当てることができ、状況標識によってアラートが出されます。
- 複数のノードに使用できます。
パイプライン・パラメーターの定義
- ツールバーのノード構成パネルからパイプライン・パラメーターを作成します。
- 名前とオプションの説明を入力します。 名前は、小文字、数字、および下線を使用した snake の小文字でなければなりません。 例えば、
lower_snake_case_with_numbers_123
は有効な名前です。 名前の先頭は文字でなければなりません。 名前が準拠していない場合、パイプラインを実行しようとすると 404 エラーが発生します。 - パラメーター・タイプを割り当てます。 パラメーター・タイプによっては、詳細を指定したり、デフォルト値を割り当てたりする必要が生じる場合があります。
- リストに追加 をクリックして、パイプライン・パラメーターを保存します。
-個々のパラメーターを定義することも、 パラメーター・セットを作成することもできます。 個別に定義したパラメーターをセットに追加することもできます。
-パイプラインでサポートされない結果が生成される可能性がある方法でパイプライン・パラメーターを使用することができます。 汎用資産を値として持つパラメーターを割り当てる場合、 「資産のコピー」 ノードでサポートされない資産をパラメーター値として選択する可能性があります。
パラメーター・タイプ
パラメーター・タイプは以下のように分類されます。
- 基本: これには、パイプラインへの入力を構造化するためのデータ・タイプや、重複するスペースまたは資産の作成を処理するためのオプションが含まれます。
- リソース: プロジェクト、カタログ、スペース、または資産を選択します。
- インスタンス: 機械学習インスタンスまたは Cloud Object Storage インスタンスを選択します。
- その他: 作成モードやエラー・ポリシーなどの詳細を指定します。
パイプライン・タイプの使用例
タイプ Pathのパラメーターを作成するには、以下のようにします。
- MASTER_PARAMETER_SETという名前のパラメーター・セットを作成します。
file_path
というパラメーターを作成し、タイプを Pathに設定します。file_path
の値をmnts/workspace/masterdir
に設定します。 値を設定するには、いくつかの方法があります。- リソースの選択: UI を使用してスコープ内のファイルを参照します。
- 値を入力します: ファイルの相対パスの有効なテキスト (例:
/mnts/sender.txt
)。
- ノード 「ファイルの待機 (Wait for file)」 をキャンバスにドラッグし、 「ファイルの場所 (File location)」 の値を
MASTER_PARAMETER_SET.file_path
に設定します。 - 「ファイルの待機 (Wait for file)」 に 「Bash スクリプトの実行 (Run Bash script)」 ノードを接続して、後者のノードが前者のノードの後で実行されるようにします。
- オプション: パラメーター変数をテストします。
- 環境変数パラメーターを MASTER_PARAMETER_SET パラメーター・セットに追加します (例:
FILE_PATH
)。 - 以下のコマンドを 「Bash スクリプトの実行 (Run Bash script)」の 「スクリプト・コード (Script code)」 に貼り付けます。
echo File: $FILE_PATH cat $FILE_PATH
- 環境変数パラメーターを MASTER_PARAMETER_SET パラメーター・セットに追加します (例:
- パイプラインを実行します。 パス
mnts/workspace/masterdir
は、正常に渡されたことを確認するために、両方のノードの実行ログにあります。
パイプライン・パラメーターを使用したノードの構成
パイプライン・パラメーターを使用してノードを構成する場合、ノードの構成の一部として、既存のパイプライン・パラメーターを選択するか、または新規パイプライン・パラメーターを作成することができます。
次に例を示します。
- creationmode というパイプライン・パラメーターを作成し、パラメーター・リストに保存します。
- デプロイメント・スペースの作成 ノードを構成し、クリックして構成パネルを開きます。
- 「作成モード」 オプションの入力として 「パイプライン・パラメーター」 を選択します。
- creationmode パイプライン・パラメーターを選択し、構成を保存します。
フローを実行すると、スペースの作成時にパイプライン・パラメーターが割り当てられます。
パラメーター・セット
パラメーター・セットは、パイプラインで使用する関連パラメーターのグループです。 例えば、あるパラメーター・セットをテスト環境で使用するために作成し、別のパラメーター・セットを実稼働環境で使用するために作成することができます。
パラメーター・セットは、プロジェクト資産として作成できます。 プロジェクトで作成されたパラメーター・セットは、そのプロジェクトのパイプラインで使用できるようになります。
プロジェクト資産としてのパラメーター・セットの作成
パイプラインで使用する再使用可能なプロジェクト資産としてパラメーター・セットを作成できます。
- 既存のプロジェクトを開くか、プロジェクトを作成します。
- クリック新しいアセット > 再利用可能なパラメータセットを定義する。
- セットの名前を割り当て、セット内の各パラメーターの詳細を指定します。これには以下のものが含まれます。
- パラメーターの名前
- データ・タイプ
- プロンプト
- デフォルト値
- オプションで、パラメーター・セット内のパラメーターの値セットを作成します。 値セットは、コンテキストごとに異なる値にすることができます。 例えば、テスト環境の場合は値を使用してテスト値セットを作成し、実動値の場合は実動セットを作成することができます。
- すべてのパラメーターを作成した後、パラメーター・セットを保存します。 そのプロジェクトで作成されたパイプラインで使用できるようになります。
パイプラインで使用するパラメーター・セットの追加
プロジェクトからパラメーター・セットを追加するには、以下のようにします。
- グローバル・オブジェクト・アイコンをクリックし、 「パラメーター・セット」タブに切り替えます。
- 「パラメーター・セットの追加」 をクリックして、パイプラインで使用するプロジェクトからパラメーター・セットを追加します。
- リストにパラメーター・セットを追加したり、リストからパラメーター・セットを削除したりすることができます。 パイプラインで使用するために指定したパラメーター・セットは、パイプラインでパラメーターを入力として割り当てるときに使用可能になります。
パイプラインのパラメーター・リストからパラメーター・セットを作成する
パイプラインのパラメーター・リストからパラメーター・セットを作成できます。
- グローバル・オブジェクト・アイコンをクリックして、パイプライン・パラメーターを開きます。
- セットに含めるパラメーターを選択し、 「パラメーター・セットとして保存」 アイコンをクリックします。
- セットの名前とオプションの説明を入力します。
- 保存して、パイプラインで使用するパラメーター・セットを追加します。
パイプラインでのパラメーター・セットの使用
パラメーター・セットを使用するには:
- ノード・プロパティー・シートから入力タイプとして 「パイプライン・パラメーターの割り当て」 を選択します。
- 割り当てるパラメーターを選択します。 リストには、その入力のタイプで使用可能なすべてのパラメーターが表示されます。 使用可能なパラメーターは、個々のパラメーター、およびセットの一部として定義されたパラメーターです。 パラメーター・セット名は、パラメーターの名前の前に付きます。 例えば、 Parameter_set_name.Parameter_nameです。
- パイプラインを実行し、対応する値 (使用可能な場合) の値セットを選択するか、パラメーターに値を割り当てるか、またはデフォルト値を受け入れます。
プロジェクトのデフォルト・パラメータ・セットを使用する
プロジェクトはPROJDEFというパラメータ・セットを持つことができる。 このパラメータ・セットには、DataStage フローまたは Pipelines フローから参照できるグローバル・プロパティ・セットが含まれます。 これはパラメータセットなので、既存のパラメータセットUIを使用してこれらの変数を管理することができます。
PROJDEFsに注意してください:
- PROJDEFパラメータのセット値は、パイプラインパラメータの値PROJDEFで参照することができます。
- PROJDEF値は、暗号化されたパラメータを除くすべてのタイプのパラメータでサポートされている。
- PROJDEFパラメータセットのパラメータは、PROJDEF値を持つパイプラインパラメータと同じ名前を使用しなければならない。
プロジェクトでPROJDEFを使うには:
- パラメータセットPROJDEFを作成する。
- 任意のパラメータをPROJDEFパラメータセットに追加します。例えば、
SOME_DATE
のように。 - ツールバーのグローバルオブジェクトをクリックします。
- PROJDEFパラメータを追加をクリックします。
- リストからパラメータを選択する。
ジョブ内のパラメーター・セットの編集
ジョブの定義時にパラメーター・セットを使用する場合、値セットを選択して、そのセット内の値を変数に取り込むことができます。 値を変更して保存した後、ジョブを編集して変更を保存すると、パラメーター・セットの値はデフォルトにリセットされます。
ユーザー変数
フローの実行時に値を割り当てるためのユーザー変数を作成します。 パイプライン・パラメーターとは異なり、ユーザー変数は処理中に変更できます。
ユーザー変数の定義
パイプラインで使用するユーザー変数を作成できます。 ユーザー変数は、パラメーターと同様にグローバル・レベルで定義され、どのノードにも固有ではありません。 ユーザー変数の初期値は、定義時に設定する必要があり、ノード出力の結果として動的に設定することはできません。 ユーザー変数を定義するときに、 「ユーザー変数の設定」 ノードを使用して、ノード出力で更新することができます。
ユーザー変数を作成するには:
- 「変数の更新」 ノード構成パネルまたはツールバーから変数を作成します。
- 名前とオプションの説明を入力します。 名前は、小文字、数字、および下線を使用した snake の小文字でなければなりません。 例えば、lower_snake_case_with_numbers_123 は有効な名前です。 名前の先頭は文字でなければなりません。 名前が準拠していない場合、パイプラインを実行しようとすると 404 エラーが発生します。
- 変数タイプと入力タイプの選択を含め、変数の定義を完了します。
- 追加 をクリックして、変数をリストに追加してください。 これで、ノードで使用できるようになりました。
タイムゾーンの設定
タイムゾーンはコンフィグマップで設定できます。
kubectl edit -n <namespace> configmap watson-pipelines-config
コマンドを実行してコンフィグマップを開き、namespace
は Cloud Pak for Data インスタンスの名前空間です。- 以下のコード例を参考に、タイムゾーンの値を設定してください:
apiVersion: v1 kind: ConfigMap metadata: name: watson-pipelines-config namespace: zen data: default_container_env: | - name: TZ value: America/New_York
- Pipelines CRでタイムゾーンの値を設定します:
oc patch wspipelines wspipelines-cr -p '{"spec":{"timezone":"America/New_York"}}' --type=merge
- で和解が完了するのを待つ:
oc get wspipelines wspipelines-cr
親トピック: パイプラインの作成