データ・フロー・パラメータの使用
データ統合では、データ・フローで使用できるパラメータのタイプが、ユーザー定義またはシステム生成です。
データ統合によって、実行時にシステム・パラメータ(SYS.TASK_START_TIME
など)が生成されます。システム・パラメータの値は、システム情報を記録するために式で使用できます。現在、システム生成パラメータを使用できるのは式演算子のみです。
ユーザー定義パラメータを使用すると、設計時と実行時に、ソース、ターゲットおよび変換の異なる構成でタスクを柔軟に使用できます。パラメータを使用するには、まず演算子のパラメータをデータ・フロー内に作成します。たとえば、データ・フローの設計時に、演算子の「プロパティ」パネルの「詳細」タブを使用して、次のリソース・タイプのパラメータを追加して割り当てます:
- データ・アセット(ソースおよびターゲット)
- 接続(ソースおよびターゲット)
- スキーマまたはバケット(ソースおよびターゲット)
- データ・エンティティ(ソースおよびターゲット)
- 条件(フィルタ、結合、ルックアップ、分割)
データ・エンティティでは、エンティティ名全体をパラメータ化するかわりに、データ・エンティティ名に1つ以上のパラメータを含めることができます。データ・エンティティ名のパラメータについてを参照してください。
式および集計演算子、フィルタ、結合、参照および分割演算子など、構成で式を使用するデータ・フロー演算子の場合は、式(スカラー・パラメータとも呼ばれる)でパラメータを使用できます。式パラメータについてを参照してください。
データ・フローでユーザー定義パラメータおよび式パラメータを使用する場合は、パラメータのデフォルト値を指定する必要があります。その後、パラメータ化されたデータ・フローに統合タスクを作成するときに、「パラメータの構成」ページで1つ以上のデフォルト値を変更することも、実行時に値を変更することもできます。設計時または実行時にパラメータを変更しない場合、タスクを実行すると、データ・フロー内に設定されているデフォルト値が使用されます。
パラメータは、SQL、OCIデータ・フロー、RESTタスクなどのタスクのリソースにも割り当てることができます。データ・ローダー・タスクでソースおよびターゲット・リソースのパラメータを使用するには、「ソースおよびターゲットのパラメータの使用」を参照してください。
パラメータ化されたタスクをパイプラインに追加するときに、タスク・レベルまたは関連付けられたデータ・フロー・レベルで定義されている受信パラメータの値を再構成できます。また、式パラメータ値を再構成することもできます。パイプラインでのパラメータの使用を参照してください。
パラメータを使用する際の考慮事項
パラメータを使用すると、データ統合のリソースおよび値は統合タスクに永続的にバインドされなくなります。パラメータを割り当てない場合は、タスクを実行するたびに、選択したリソースおよび値が使用されます。パラメータを使用すると、異なるデータ統合リソースおよび値でデータ・フロー設計を柔軟に再利用できます。設計時に値を変更するには、統合タスクでデータ・フローを構成するときに、「パラメータ」パネルまたは「パラメータの構成」ページを使用します。
パラメータは、統合タスクでデータ・フローを実行するときに柔軟性を持たせるように設計されていますが、複雑になりやすく、混乱する可能性があります。たとえば、ソース演算子をデータ・フローに追加するときは、データ・アセット、接続、スキーマを選択してから、データ・フローのデータ・ソースとなるデータ・エンティティを選択します。この4つの値が、演算子のデフォルト値になります。これらの各値にパラメータを割り当てることができます。パラメータを割り当てる際には、細心の注意を払って、慎重に値を割り当てる必要があります。
パラメータをデータ・エンティティとデータ・アセットの値には割り当てるが、接続とスキーマの値には割り当てない場合、パラメータ値を変更するとエラーが発生する可能性があります。たとえば、データ・アセットの値を変更した場合、新しいデータ・アセットに、最初に設定した接続、スキーマまたはデータ・エンティティの値が含まれない可能性があります。値を変更すると、データ統合によって警告が表示されますが、自分でリレーションシップをレビューし、変更した値でもデータ・フローが動作することを確認する必要があります。データ・フローの設計中、統合タスク内、およびタスクを実行するときは、すべての場所でパラメータ値に注意してください。
追加するパラメータは対応するデータ・フローに対してローカルであるため、複数のデータ・フロー間でパラメータを共有または再利用することはできません。
また、新しいターゲット・データ・エンティティのパラメータを追加する場合にも注意してください。新しいデータ・エンティティはシェイプレスです。つまり、まだ何も属性が含まれていません。設計時または実行時のエラー発生を回避するために、新しいオブジェクトに割り当てられたパラメータをどのように再利用するかに注意してください。たとえば、デフォルト値が新しいターゲット・データ・エンティティであるパラメータをソース・データ・エンティティや既存のターゲット・データ・エンティティに割り当てないでください。
式パラメータについて
式でパラメータを使用すると、設計時または実行時に異なる値で式を柔軟に再利用できます。
式を使用する演算子を構成するときには、データ・フロー・レベルで式にパラメータを追加します。式パラメータ(スカラー・パラメータとも呼ばれる)は、フィルタ演算子、結合演算子、参照演算子、分割演算子、式演算子および集計演算子に適用できます。演算子に応じて式ビルダーか条件ビルダーのどちらかを使用して、式パラメータを追加します。
演算子に追加した式パラメータはデータ・フローに保存され、データ・フロー内の該当する他の演算子に対して使用できるようになります。
式パラメータは名前とデフォルト値を持ち、データ型に関連付けられています。次の型がサポートされています。
NUMERIC
VARCHAR
DATE
DATETIME
DECIMAL
DOUBLE
FLOAT
INTEGER
TIMESTAMP
TINYINT
BOOLEAN
LONG
STRING
式パラメータを作成した後は、パラメータの名前または型を変更できません。また、型によっては他のどのプロパティも変更できません。変更できるのはデフォルト値のみです。デフォルト値は、設計時および実行時に変更できます。
たとえば、次の式をデータ・フロー内の条件フィルタに使用するとします。
FILTER_1.COUNTRIES.CITY='Redwood Shores'
CITY
に明示的な値を指定するかわりに、式でパラメータを使用できます。VARCHAR
式パラメータ(P_VARCHAR
など)を作成し、デフォルト値をRedwood Shores
に設定するとします。その後、この式パラメータを使用するように条件フィルタを編集できます:
FILTER_1.COUNTRIES.CITY=$P_VARCHAR
設計時には、そのデータ・フローを使用する統合タスクを作成するときに、P_VARCHAR
のデフォルト値を変更できます。実行時には、統合タスク内に設定されているデフォルト値を使用することも、値を編集することもできます。
データ・フローに追加した式パラメータはすべて、「パラメータ」パネルで使用できます。
システム・パラメータについて 🔗
システム・パラメータには、名前とタイプがあります。システム・パラメータの値はバインドできますが、値を変更することはできません。
データ・フロー内の式演算子に式を追加するときに、「式ビルダー」の「パラメータ」タブを使用して、システム・パラメータのリストを参照します。式でシステム・パラメータを使用すると、システム情報を記録できます。
次の表に、使用できるシステム・パラメータを示します。
名前 | タイプ | 説明 |
---|---|---|
SYS.TASK_START_TIME | TIMESTAMP | タスク開始時間(UTC)。 |
SYS.TASK_RUN_KEY |
OCID |
タスク実行の内部識別子。 |
SYS.TASK_RUN_NAME |
STRING |
タスク実行の名前。 |
SYS.TASK_SCHEDULE_TRIGGER_TIME | TIMESTAMP | スケジュールのトリガー時間(スケジュールに基づいて開始されるタスク実行の場合)。スケジュール時間がタスク開始時間と異なる場合もあります。 |
SYS.TASK_SCHEDULE_TIMEZONE | STRING | スケジュール時間に対応するタイム・ゾーン。これは、タスク・スケジュールで定義されているタイム・ゾーン時間を表します。 |
SYS.RETRY_ATTEMPT | INTEGER | 実行が失敗した場合にタスクを再試行するように構成されているタスクの実行試行の数。 |
ノート: OCID値はSTRINGです。
データ・エンティティ名のパラメータについて 🔗
データ・フローにソース演算子またはターゲット演算子を構成する場合、${PARAMETER_NAME}
構文を使用して、データ・エンティティ名に1つ以上のパラメータを含めることができます。
パラメータ名では大文字と小文字が区別され、使用する各パラメータにはデフォルト値が必要です。
たとえば、CUSTOMERS_${COUNTRY}
がデータベース表CUSTOMERS_USA
を返し、BANK_${COUNTRY}/*
がBANK_EU
のオブジェクト・ストレージ・ファイルを返すことがあります。
データ・エンティティ名でパラメータを使用するには、データ演算子を追加する前にデータ・フローにパラメータを追加できます。演算子のデータ・エンティティを構成するときにパラメータを追加することもできます。
-
データ・フローにパラメータを追加するには、データ・フローで、キャンバス・ツールバーの「表示」メニューから「パラメータ」を選択して「パラメータ」パネルを開きます。
「パラメータ」パネルで、「構成」をクリックし、「追加」をクリックします。
「パラメータの追加」パネルで、適切なデータ型(VARCHARやNUMERICなど)のパラメータを構成し、デフォルト値を追加します。
-
データ・エンティティ構成時にパラメータを追加するには(「データ・エンティティの参照」パネル):
-
「その他のアクション」メニューから、「データ・フロー・パラメータの追加」を選択します。
-
検索フィールドに、
${
に続けて任意の文字を入力します。パラメータ名の先頭部分がデータ・フロー内の既存パラメータと一致すると、候補名のリストが表示されます。リストからパラメータを選択するには、パラメータ名をクリックし、}
を追加して構文を完了してから、[Enter]を押します。 -
検索フィールドにパラメータ名を入力します。そのパラメータ名がデータ・フローにまだ存在していない場合は、[Enter]を押すと、データ統合に「データ・フロー・パラメータの追加」パネルが表示されます。または、パラメータ名を入力した後、「その他のアクション」メニューから「データ・フロー・パラメータの追加」を選択します。
「データ・フロー・パラメータの追加」パネルで、追加して使用するパラメータのデータ型、デフォルト値およびその他のプロパティを指定します。
ソース演算子のオブジェクト・ストレージの場合のみ: オブジェクト・ストレージ・データ・アセットを使用するソース演算子に対してデータ・エンティティを構成するときは、パラメータとファイル・パターンを使用できます。「データ・エンティティをパターンで参照」パネルで、パラメータおよびパターンを使用して式を入力し、1つ以上のエンティティを選択します。例:
ADDRESSES_${STATE}/*
-
名前にデータ・フロー・パラメータが含まれるデータ・エンティティの場合、エンティティ・リソースを別のパラメータにバインドすることはできません。「パラメータの割当て」オプションは使用できません。
「パラメータ」パネルについて 🔗
データ・フローの「パラメータ」パネルには、データ・フロー全体で定義されているパラメータが表示されます。
「パラメータ」パネルを使用して、次のものを表示します:
- データ・フローで使用されるデータ・アセット、接続、スキーマまたはバケット、データ・エンティティに対して作成されたすべてのパラメータ。
- フィルタ、結合、ルックアップなどの整形演算子に対して作成されたすべてのパラメータ
- 式演算子、集計演算子および整形演算子(フィルタ、結合、ルックアップ、分割など)に対して作成されたすべての式パラメータ。
- データ・フローのデータ・エンティティ名に対して作成されたすべてのデータ・フロー・パラメータ。
デザイナ・キャンバスでデータ・フローを開いたときに「パラメータ」パネルにアクセスするには、キャンバス・ツールバーの「表示」メニューから「パラメータ」を選択します。
「パラメータ」パネルには、「表示」と「構成」の2つのタブがあります。どちらのタブでも、パラメータの完全名を入力して、リストを検索できます。
「表示」タブでは、次を行うことができます:
- データ・フロー内に作成されたパラメータを表示します。パラメータがオブジェクトに割り当てられているかどうかは関係ありません。「使用先」の横に値が表示されていれば、パラメータが割り当てられています。
- 各パラメータの詳細を縮小および展開します。
- 割り当てられたパラメータの「使用先」リンクをクリックします。そのパラメータを参照する演算子が、キャンバスおよび「プロパティ」パネル(「詳細」タブ)でフォーカスして表示されます。
「構成」タブでは、次を行うことができます:
- 式パラメータおよびデータ・フロー・パラメータを追加します。「追加」をクリックし、表示される「パラメータの追加」パネルを使用してパラメータを定義します。
- パラメータのデフォルト値を変更します。パラメータのアクション・メニュー(
)から「編集」を選択し、「パラメータの編集」パネルを使用して値を編集します。
- 1つ以上のパラメータを削除します。パラメータの削除を参照してください。
パラメータの追加 🔗
データ・フローのデータ・ソースに関連付けられた演算子にパラメータを追加および定義します。
データ・フロー内のパラメータを、同じデータ・フロー内にある同じタイプの別のリソースのデフォルト値を表すために再利用することができます。
パラメータの定義方法は、パラメータを追加するリソースのタイプによって異なります。すべてのパラメータ・タイプについて、名前と説明(オプション)を入力し、パラメータのデフォルト値を設定します。パラメータの作成後に名前と説明を変更することはできません。
次の手順は、式および条件へのパラメータの追加には適用されません。式パラメータの追加を参照してください。式演算子にシステム・パラメータを追加するには、「式演算子の追加および構成」を参照してください。
データ・フローにパラメータを追加するには:
システムおよびユーザー定義パラメータの表示 🔗
実行時にデータ・フローで使用可能なシステム・パラメータ、および作成したユーザー定義パラメータを参照できます。
ユーザー定義パラメータの場合、リストには、データ・アセット、接続、スキーマまたはバケット、およびデータ・エンティティについて、データ・フロー・レベルでの割当て済パラメータと未使用パラメータが含まれます。割り当てられているパラメータについては、データ・フロー内でそのパラメータが使用されている場所を確認できます。
このユーザー定義リストには、使用されている式パラメータと使用されていない式パラメータも含まれます。式パラメータは、条件ビルダー(フィルタ演算子、結合演算子、ルックアップ演算子および分割演算子)または式ビルダー(式演算子および集計演算子)を使用してデータ・フロー・レベルで追加されたパラメータです。
データ・フローの「プロパティ」パネルの「パラメータ」タブを使用して、システム・パラメータとユーザー定義パラメータを表示します。
パラメータの割当て 🔗
パラメータは、ソース演算子とターゲット演算子のデータ・エンティティ、フィルタ演算子、結合演算子およびルックアップ演算子の条件など、様々なリソース・タイプに割り当てることができます。
データ・フローでは、既存のパラメータを選択することも、パラメータを追加してから割り当てることもできます。
パラメータを割り当てるには、データ・フロー演算子の「プロパティ」パネルの「詳細」タブを使用します。次の手順を使用して、パラメータをソース演算子、ターゲット演算子、フィルタ演算子、結合演算子およびルックアップ演算子に割り当てることができます。
データ・フロー内の演算子にパラメータを割り当てるには:
パラメータの編集 🔗
割当て済のパラメータのデフォルト値は、そのパラメータが使用されているデータ・フロー内で編集します。
また、データ・フローを使用して統合タスクを作成するとき、またはタスクを実行するときにパラメータ値を変更することもできます。次の手順では、データ・フローの設計中にパラメータ値を編集する方法について説明します。
次の手順は、式または条件内の式パラメータを編集する場合には適用されません。
割当て済のパラメータを編集するには:
データ・アセット、接続、スキーマまたはデータ・エンティティ・リソースのパラメータを編集する際には、必ず値どうしの適切な関係を維持してください。たとえば、スキーマ値を変更する場合は、最初に選択したデータ・エンティティが新しいスキーマ値に含まれることを確認します。編集済の値に元のデータ・エンティティが含まれていない場合は、実行時にデータ・フローでエラーが発生する可能性があります。データ統合によって潜在的な問題が警告されます。ただし、パラメータに適切な値を設定する必要があります。
パラメータの削除 🔗
演算子からパラメータを削除すると、演算子とパラメータの関連付けのみが削除されます。
パラメータを削除しても、そのパラメータはデータ・フローから削除されません。このパラメータは以降も、同じリソース・タイプの別の演算子に使用できます。
パラメータを削除すると、そのパラメータに割り当てられていた値が演算子のデフォルト値になります。
次の手順は、式または条件から式パラメータを削除する場合には適用されません。
割当て済のパラメータを削除するには:
- データ・フローのキャンバスで、パラメータを削除する演算子を選択します。
- 削除するパラメータ・リソース・タイプの「プロパティ」パネルの「詳細」タブで、「パラメータの削除」をクリックします。
- 「パラメータの削除」ダイアログ・ボックスで、このパラメータを削除した場合に影響を受ける演算子のリストを確認し、「削除」をクリックします。
パラメータの削除 🔗
データ・フローからパラメータを削除すると、そのパラメータはそのデータ・フロー内で使用できなくなります。
削除するパラメータがデータ・フローで演算子に関連付けられている場合、そのパラメータに割り当てられた値が演算子のデフォルト値になります。
パラメータを削除するには:
式パラメータの追加 🔗
式ビルダーまたは条件ビルダーを使用して、データ・フローに式パラメータを追加します。
式パラメータには、名前、タイプおよびデフォルト値があります。パラメータの作成後は、デフォルト値のみを変更できます。
式パラメータを追加するには:
式パラメータの編集 🔗
式パラメータのデフォルト値のみを編集できます。式パラメータの名前、タイプまたはその他のタイプ固有プロパティは変更できません。
データ・フローの「パラメータ」パネルまたは「プロパティ」パネルの「パラメータ」タブを使用して、デフォルト値を編集できます。
次の手順では、データ・フローの「プロパティ」パネルの「パラメータ」タブを使用します。