パイプラインでのパラメータの使用
データ統合では、パイプラインのパラメータは、データ・フローおよびタスクで割り当てられているパラメータから取得されます。
構成で式を使用するデータ・フロー演算子の場合、式で使用されるパラメータの値は、パイプライン内で再構成にも使用できます。
データ・フローでパラメータおよび式パラメータ(スカラー・パラメータとも呼ばれる)を使用する方法は、データ・フロー・パラメータの使用および式パラメータについてを参照してください。
データ・フローおよびタスクで使用されるパラメータおよび式パラメータには、タイプおよびデフォルト値があります。パイプライン内のタスクおよび関連データ・フローの受信パラメータ値を変更しない場合、パイプラインの設計時またはパイプラインの実行時に元のデフォルト値が使用されます。
次の受信パラメータ・データ型がサポートされています:
NUMERIC
VARCHAR
DATE
DATETIME
DECIMAL
DOUBLE
FLOAT
INTEGER
TIMESTAMP
TINYINT
BOOLEAN
LONG
STRING
データ・ローダー・タスク内のソース・リソースおよびターゲット・リソースのパラメータは、タスクがパイプラインで使用されたときに再構成することもできます。データ・ローダー・タスクでパラメータを使用する方法を学習するには、ソースおよびターゲットのパラメータの使用を参照してください。
パイプラインのパラメータを再構成する方法
パイプラインにパラメータ化されたタスクを追加するときに、「プロパティ」パネルの「構成」タブを使用して、そのタスク、または統合タスクがラップする関連データ・フローで指定されたパラメータ値を再構成できます。
パイプライン内のタスクに受信パラメータ値を再構成するには、入力に次のものを割り当てることができます:
- 特定の値(直接)
- 前の演算子からの出力の値。たとえば、出力パラメータです。
- ユーザー定義パラメータ。これにより、パイプラインの実行時、または設計時にパイプラインをラップするパイプライン・タスクを作成するときに、値を設定できます。
- システム・パラメータ
パラメータ化されたパイプラインにパイプライン・タスクを作成するときに、「パラメータの構成」ページを使用して、ユーザー定義パラメータのデフォルト値を変更できます(ある場合)。
パイプライン・パラメータのタイプ
データ統合では、パイプラインで使用できるパラメータのタイプは、ユーザー定義パラメータまたはシステム生成パラメータです。
システム生成パラメータは、次のタイプに分類できます。
ユーザー定義パラメータ
ユーザー定義パラメータは、タスク演算子の受信パラメータの入力に割り当てるためにパイプライン内に自分で作成するカスタム・パラメータです。ユーザー定義パラメータは作成場所のパイプラインに対してローカルであるため、ユーザー定義パラメータをパイプライン間で再利用することはできません。
ユーザー定義パラメータには、名前、タイプおよび値があります。ユーザー定義パラメータを作成するときに、名前と値を指定します。タイプは、ユーザー定義パラメータを割り当てる受信パラメータのタイプによって異なります。ユーザー定義パラメータのタイプは変更できません。
パイプライン内に作成できるユーザー定義パラメータ・タイプは:
- データ・アセット
- 接続
- スキーマ
- データ・エンティティ
- 条件(パラメータ化された結合条件またはフィルタ条件から)
- 式
また、NUMERIC、VARCHAR、DATE、DECIMAL、STRINGなどのデータ型のパラメータを追加することもできます。
パイプラインの設計中に、パイプラインの「パラメータ」パネルまたは「プロパティ」パネルの「パラメータ」タブを使用して、追加されたユーザー定義パラメータを確認できます。
ユーザー定義パラメータは、式ビルダーで式演算子を使用してパイプライン内の式を定義するときにも使用できます。
システム・パラメータ
データ統合により、実行時にタスク演算子の受信パラメータの入力に割り当てるために使用できるシステム・パラメータが生成されます。システム・パラメータには、名前とタイプがあります。システム・パラメータの値は同じタイプの受信パラメータにバインドできますが、値は変更できません。
次の表に、パイプラインで使用できるシステム・パラメータを示します。
名前 | タイプ | 説明 |
---|---|---|
SYS.TASK_START_TIME | TIMESTAMP | タスク開始時間(UTC)。 |
SYS.TASK_RUN_KEY | STRING | タスク実行のタスク実行キー。 |
SYS.TASK_RUN_NAME |
STRING |
タスク実行のタスク実行名。 |
SYS.TASK_KEY |
STRING |
タスクのキー。 |
SYS.TASK_NAME |
STRING |
タスクの名前。 |
SYS.PARENT_TASK_RUN_KEY | STRING | 親タスク実行キー。 |
SYS.TASK_SCHEDULE_TRIGGER_TIME | TIMESTAMP | スケジュールのトリガー時間(スケジュールに基づいて開始されるタスク実行の場合)。スケジュール時間がタスク開始時間と異なる場合もあります。 |
SYS.TASK_SCHEDULE_TIMEZONE | STRING | スケジュール時間に対応するタイム・ゾーン。これは、タスク・スケジュールで定義されているタイム・ゾーン時間を表します。 |
SYS.RETRY_ATTEMPT | INTEGER | 実行が失敗した場合にタスクを再試行するように構成されているタスクの実行試行の数。 |
SYS.PIPELINE_NAME | STRING | パイプラインの名前。 |
SYS.PIPELINE_IDENTIFIER | STRING | パイプラインの識別子。 |
SYS.TIMEOUT | INTEGER | パイプラインのタイムアウト値(分)。タイムアウト値に達すると、パイプライン実行は失敗します。 |
パイプラインの設計中に、パイプラインの「プロパティ」パネルの「パラメータ」タブを使用して、使用可能なシステム・パイプライン・パラメータを確認できます。「使用先」列は、パイプラインでパラメータが使用されている場所を示します。
パイプライン内の式演算子に式を追加するときに、「式ビルダー」の「パラメータ」タブを使用して、システム・パラメータのリストを参照できます。式でシステム・パラメータを使用すると、システム情報を記録できます。
出力パラメータ
出力パラメータは、パイプライン内の演算子から別の演算子ダウンストリームに出力値を渡すために使用できる、演算子のシステム生成パラメータです。
次の表に、使用できるいくつかの出力パラメータを示します。
名前 | タイプ | 説明 |
---|---|---|
SYS.STATUS | STRING | 操作のステータス(タスク実行など) |
SYS.ERROR_MESSAGE | STRING | 操作のエラー・メッセージ |
SYS.NO_OF_INSERTS | INTEGER | 挿入および更新された行の数 |
SYS.DATA_READ | INTEGER | 読み取られたデータ量 |
SYS.DATA_WRITTEN | INTEGER | 書き込まれたデータ量 |
SYS.DURATION | INTEGER | 操作の継続時間 |
SYS.START_TIME_TIMESTAMP | TIMESTAMP | タイムスタンプ形式でのタスク実行の開始時間。 |
SYS.END_TIME_TIMESTAMP | TIMESTAMP | タイムスタンプ形式でのタスク実行の終了時間。 |
SYS.TASK_RUN_KEY |
STRING |
タスク実行のタスク実行キー。 |
SYS.TASK_RUN_NAME |
STRING |
タスク実行のタスク実行名。 |
SYS.TASK_NAME |
STRING |
タスクの名前。 |
SYS.TASK_KEY |
STRING |
タスクのキー。 |
パイプラインの設計中に、タスク演算子の「プロパティ」パネルにある「出力」タブを使用して、次の演算子の入力として使用できる出力を参照できます。
次に注意してください:
-
ストアド・プロシージャに関連付けられたSQLタスク演算子の場合、出力にはSQLストアド・プロシージャからの出力パラメータが含まれます。
-
マージ演算子の場合、使用可能な出力は、システムからの出力パラメータと、マージ演算子に接続されている各演算子の出力とを組み合せたものです。
- 使用可能な出力は、SYS.STATUS、SYS.START_TIME_TIMESTAMPおよびSYS.END_TIME_TIMESTAMPのみです
- タスク出力は、タスク演算子の名前で修飾されます。例: TASK_OPERATOR_1.SYS.STATUS、TASK_OPERATOR_2.SYS.STATUS
- 式演算子からの出力は、式演算子名および式識別子によって修飾されます。たとえば: EXPRESSION_1。EXPRESSION_ERROR_MESSAGE
- マージ演算子からの出力は、マージ演算子名で修飾されます。たとえば: MERGE_3。SYS.START_TIME_TIMESTAMP
-
OCIデータ・フロー・アプリケーションに関連付けられたOCIデータ・フロー・タスク演算子の場合、出力にはアプリケーションのすべての出力パラメータおよび次の出力データ型が含まれます:
- com.oracle.dos.task.model.customparameter.Arguments: 引数
- 浮動小数点数:
- bytesProcessed
- bytesWritten
- 文字列:
- applicationId
- displayName
-
RESTタスク演算子の場合、次のデータ型のRESTレスポンス出力を使用できます。
- JSONまたはJSON_TEXT: SYS.RESPONSE_PAYLOAD_JSONおよびSYS.RESPONSE_HEADERS_JSON
- 文字列: SYS.RESPONSE_STATUS
ノート
- ダウンストリーム操作でRESTレスポンス出力を使用するには、文字列および正規表現操作を適用できる式演算子を介して出力を渡します。その後、後続のダウンストリーム・タスク演算子で結果を使用します。
- 文字列出力SYS.RESPONSE_PAYLOADおよびSYS.RESPONSE_HEADERSは非推奨です。既存の用途は、それぞれSYS.RESPONSE_PAYLOAD_JSONおよびSYS.RESPONSE_HEADERS_JSONに相当するJSONデータ型に変換することをお薦めします。
「パラメータ」パネルについて
「パラメータ」パネルには、パイプライン内に作成されたすべてのユーザー定義パイプライン・パラメータが表示されます。
デザイナ・キャンバスでパイプラインを開いたときに「パラメータ」パネルにアクセスするには、キャンバス・ツールバーの「表示」メニューから「パラメータ」を選択します。
「表示」タブを使用して、パイプライン内のユーザー定義パラメータを参照します。使用されているパラメータと使用されていないパラメータが表示されます。パイプラインで使用されているパラメータの「使用先」リンクをクリックすると、そのパラメータを参照するタスク演算子がキャンバス上でフォーカスされます。
ユーザー定義パラメータを削除したり、デフォルト値を編集するには、「パラメータ」パネルの「構成」タブを使用します。
ユーザー定義パイプライン・パラメータを削除すると、そのパラメータに関連付けられている演算子の構成済の値はすべて削除されます。入力値を再構成するには、タスクの受信パラメータの構成を参照してください。
パイプラインへのパラメータの追加
パイプライン内のタスク演算子の受信パラメータに、ユーザー定義パラメータを追加および定義できます。
ユーザー定義パラメータの定義方法は、受信パラメータのタイプによって異なります。すべてのパラメータ・タイプについて、名前と説明(オプション)を入力し、ユーザー定義パラメータのデフォルト値を設定します。タイプは変更できません。また、パラメータの作成後に名前と説明を変更することはできません。
ユーザー定義パラメータを、同じタイプの別の受信パラメータの構成済の値を表すために、同じパイプライン内で再利用することができます。
パイプライン内のパラメータの表示
パイプラインで使用可能なシステム・パラメータ、およびパイプライン内に作成したユーザー定義パラメータを参照できます。
この手順を使用して、パイプラインでパラメータが使用されている場所を確認することもできます。
パイプライン内のパラメータの割当て
パイプライン内のタスク演算子の受信パラメータに、既存のユーザー定義パラメータおよびシステム・パラメータを割り当てることができます。
ユーザー定義パラメータのデフォルト値の編集
パイプラインの設計時に、割り当てられているユーザー定義パラメータのデフォルト値をすばやく変更できます。
パイプライン内のパラメータの割当て解除
パラメータの割当てを解除すると、受信パラメータの再構成された値のみが削除されます。受信パラメータがタスクから削除されたり、ユーザー定義パラメータが削除されることはありません。
パイプライン内のパラメータの削除
パイプライン内で不要になったユーザー定義パイプライン・パラメータは削除できます。
パイプライン内のシステム・パラメータは削除できません。