パイプライン演算子の使用
データ統合では、パイプライン演算子は、パイプラインで使用できる様々なタスクおよびアクティビティを表します。
パイプラインで使用できるタスク演算子のタイプは:
- 統合タスクおよびデータ・ローダー・タスクの演算子。これにより、パイプライン内でデータ統合ソリューションを実行できます。演算子の入力は構成できます。タスクの演算子の入力は、タスク・レベルまたはデータ・フロー・レベルで定義するパラメータと似ています。
- SQLタスクの演算子。これにより、パイプライン内でSQLストアド・プロシージャを実行できます。ストアド・プロシージャ内のパラメータの値は構成できます。
- OCI Data Flowタスク演算子。これにより、パイプライン内でOCI Data Flowアプリケーションを実行できます。
- RESTタスク演算子。これにより、パイプライン内でREST APIエンドポイントを実行できます。RESTタスクで使用される任意のパラメータの値を再構成できます。
- パイプライン・タスクの演算子。これにより、パイプライン内で別のパイプラインを実行できます。
すべてのタスク演算子について、現在のワークスペース内のプロジェクトから設計時タスクを選択し、現在のワークスペース内の任意のアプリケーションから公開済タスクを選択できます。公開済RESTタスクおよびOCIデータ・フロー・タスクでは、同じコンパートメントまたは別のコンパートメント内の別のワークスペース内の任意のアプリケーションからタスクを選択することもできます。
複数のタスクがパラレルに実行される場合は、マージ演算子を使用して、後続のダウンストリーム操作を処理する条件を指定できます。演算子から出力を取得して次の演算子に渡すには、式演算子を使用できます。
パイプラインを作成するには、データ・フロー・デザイナに似たデザイナを使用します。キャンバス上に開始演算子と終了演算子がすでに配置された状態で、デザイナが開きます。パイプラインに含めることができるのは、1つの開始演算子と1つの終了演算子のみです。パイプラインが有効になるには、タスク演算子が少なくとも1つ含まれている必要があります。任意の数のタスクを追加し、それらを開始演算子と終了演算子で囲んで1つのシーケンスとして接続します。「演算子」パネルから、演算子をキャンバスにドラッグして、パイプラインを設計します。次に、「プロパティ」パネルを使用して、各演算子のプロパティを構成します。
開始演算子に直接接続されたタスクは常に実行されます。シーケンス内の後続のタスクは、前の演算子の条件に基づいて実行するように構成できます。たとえば、「開始」→「タスクA」→「タスクB」→「終了」というシーケンスのパイプラインがあるとします。タスクAは常に実行されます。タスクBについては、「プロパティ」パネルの「受信リンク条件」プロパティを使用して、このタスクが常に実行されるように、またはタスクAのステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。
演算子どうしを接続するには、一方の演算子に、その右側にコネクタ(小さい円)が表示されるまでカーソルを置きます。次に、そのコネクタを接続先の次の演算子にドラッグします。コネクタをドロップして、演算子どうしが線で結ばれると、その接続は有効になります。
一般に、演算子には、1つのみのインバウンド・ポートと、パイプラインを流れるプロセス用の1つ以上のアウトバウンド・ポートがあります。たとえば、2つの異なる式演算子のインバウンド・ポートに、同じSQLタスク演算子アウトバウンド・ポートを接続できます。複数のインバウンド・ポートを含めることができるのは、終了演算子とマージ演算子のみです。
パイプラインに追加されたタスクまたは式演算子をすばやく複製できます。演算子を複製するには、キャンバス上の演算子アイコンを右クリックし、表示されるメニューから「複製」を選択します。次に、「プロパティ」パネルで、複製された演算子の識別子を変更します。元の演算子が他の演算子に接続されている場合、接続および前の演算子の出力への参照は、複製された演算子にコピーされません。
開始演算子と終了演算子
パイプラインの作成を開始すると、キャンバス上に開始演算子と終了演算子がすでに配置された状態でデザイナが開きます。パイプラインに含めることができるのは、1つの開始演算子と1つの終了演算子のみです。
開始演算子には、構成可能なプロパティはありません。
終了演算子を使用する場合、「受信リンク条件」プロパティを構成して、パイプライン・タスク実行のステータスに対して次のいずれかのルールを指定できます:
- すべて完了: パイプライン内のタスクの1つが失敗した場合でも、パイプライン・タスクのステータスは「成功」と表示されます。
- すべて成功: パイプライン内のすべてのタスクが正常に完了すると、パイプライン・タスクのステータスが「成功」と表示されます。
- すべて失敗: パイプライン内のすべてのタスクが失敗すると、パイプライン・タスクのステータスが「成功」と表示されます。
マージ演算子
複数のタスクがパラレルに実行される場合は、マージ演算子を使用して、その後のダウンストリーム操作の処理方法を決定する条件を指定できます。
1つのマージ演算子に、複数の入力リンク(アップストリーム)および複数の出力リンク(ダウンストリーム)を含めることができます。
式演算子
パイプライン式演算子を使用すると、データ・フローの式演算子と同様に、パイプライン内に新しい派生フィールドを作成できます。
データ・フロー式演算子とは異なり、パイプライン式演算子はデータを操作しません。パイプライン式演算子を使用すると、前の演算子やパイプライン・パラメータからの出力と、システムによって生成された出力を操作できます。
式ビルダーを使用して要素を視覚的に選択し、パイプライン内の式演算子に式を作成します。エディタで式を手動入力することもできます。
「式ビルダー」は、「式の追加」パネルにあるセクションです。
不要になった式は削除できます。
- パイプラインのキャンバスで、式演算子を選択します。
- 式演算子にフォーカスがある状態で、「プロパティ」パネルの「詳細」タブで、削除する式を選択してから「削除」をクリックします。
- 「式の削除」ダイアログ・ボックスで、この式を削除することを確認し、「削除」をクリックします。
決定演算子
決定演算子を使用して、パイプライン内の分岐フローを決定するブール条件を記述します。分岐は、TRUE、FALSEおよびERRORという3つの可能な結果に基づいています。
デシジョン演算子には、1つの入力リンク(アップストリーム)と3つの出力リンク(ダウンストリーム)があります。
データ・ローダー・タスク演算子
データ・ローダー・タスク演算子を使用すると、パイプライン内でデータ・ローダー・タスクを実行できます。
開始演算子に直接接続されたデータ・ローダー・タスク演算子は、常に実行されます。
開始演算子に直接接続されていないタスク演算子については、「受信リンク条件」プロパティを使用して、タスクが常に実行されるように、または前の演算子のステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。
統合タスク演算子
統合タスク演算子を使用すると、特定のコンテキスト用に構成されたデータ・フローを実行できます。データ・フローを統合タスクでラップする必要があります。
開始演算子に直接接続された統合タスク演算子は、常に実行されます。
開始演算子に直接接続されていないタスク演算子については、「受信リンク条件」プロパティを使用して、タスクが常に実行されるように、または前の演算子のステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。
パイプライン・タスク演算子
パイプライン・タスク演算子を使用すると、パイプラインを別のパイプライン内で実行できます。
開始演算子に直接接続されたパイプライン・タスク演算子は、常に実行されます。
開始演算子に直接接続されていないタスク演算子については、「受信リンク条件」プロパティを使用して、タスクが常に実行されるように、または前の演算子のステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。
SQLタスク演算子
SQLタスク演算子を使用すると、ストアド・プロシージャなどのSQLオブジェクトを実行できます。
開始演算子に直接接続されたSQLタスク演算子は、常に実行されます。
開始演算子に直接接続されていないタスク演算子については、「受信リンク条件」プロパティを使用して、タスクが常に実行されるように、または前の演算子のステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。
OCI Data Flowタスク演算子
OCI Data Flowタスク演算子を使用すると、パイプライン内でOCI Data Flowアプリケーションを実行できます。
開始演算子に直接接続されたタスク演算子は、常に実行されます。
開始演算子に直接接続されていないタスク演算子については、「受信リンク条件」プロパティを使用して、タスクが常に実行されるように、または前の演算子のステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。
RESTタスク演算子
RESTタスク演算子を使用すると、パイプライン内でREST APIエンドポイントを実行できます。
開始演算子に直接接続されたタスク演算子は、常に実行されます。
開始演算子に直接接続されていないタスク演算子については、「受信リンク条件」プロパティを使用して、タスクが常に実行されるように、または前の演算子のステータスが特定の実行条件を満たした場合にのみ実行されるように構成できます。