パラメータファイル
パラメータファイルとは、ユーザー定義のパラメータ、およびそれらに関連する値のリストです。パラメータファイルを使用して、1つ以上のタスクに対する入力パラメータおよび入出力パラメータの値を定義します。
パラメータファイルを使用して、タスクを編集せずに、更新するパラメータ値を定義します。
次のいずれかの方法でパラメータファイルを作成することができます。
- •メモ帳などのテキストエディタを使用して、パラメータファイルを最初から作成する。
- •マッピングタスクの場合は、[ランタイムオプション]ページからパラメータファイルテンプレートをダウンロードします。
それぞれのタスクごとに個別のパラメータファイルを使用するか、それぞれのパラメータ値の範囲をデータ統合に指定するセクションヘッダーを含んだ単一のパラメータファイルを維持することもできます。
タスクのタイプに応じて、パラメータファイルをローカルマシンまたはクラウドホストディレクトリに保存します。タスクの設定時に、パラメータファイル名とディレクトリを指定します。データ統合は、それぞれのタスク実行の開始時にパラメータファイルを読み取り、パラメータ値を適用します。
次のタスクでは、パラメータファイルを使用してパラメータ値を定義できます。
- マッピングタスク
- 次のトランスフォーメーションでは、接続のパラメータ値を定義します。
- - ソース
- - ターゲット
- - ルックアップ
- - SQL
- 次のトランスフォーメーションでは、オブジェクトのパラメータ値を定義します。
- また、データフィルタ、式、およびルックアップ式のパラメータの値を定義します。
注: すべてのコネクタがパラメータファイルをサポートしているわけではありません。コネクタが接続とデータオブジェクトの実行時オーバーライドをサポートするかどうかを確認するには、適切なコネクタのヘルプを参照してください。
- データ転送タスク
- データフィルタ、式、およびルックアップ式のパラメータの値を定義します。
- 同期タスク
- データフィルタ、式、およびルックアップ式のパラメータの値を定義します。
- PowerCenterタスク
- データフィルタ、式、およびルックアップ式のパラメータと変数の値を定義します。
SQL ELTモードのマッピングに基づくマッピングタスクでパラメータファイルを使用することはできません。
パラメータファイルの構造
パラメータファイルには、パラメータとパラメータに割り当てられた値のリストが含まれています。パラメータファイルを複数のアセットに使用する場合は、それぞれのアセットのセクションを含めます。パラメータファイルにセクションが含まれていない場合、データ統合は、ファイルを参照するすべてのアセットに値を適用します。
パラメータ値を入力する場合は、次のようにパラメータ名の前に2つのドル記号を入力します。
$$<parameter>
次のようにパラメータ値を定義します。
$$<parameter>=value
$$<parameter2>=value2
例えば、パラメータSalesQuotaとRegionがあります。パラメータファイルで、各パラメータを次の形式で定義します。
$$SalesQuota=1000
$$Region=NW
パラメータ値には、先頭または末尾のスペースを含めて、等号(=)の後のすべての文字が含まれます。パラメータ値はString値として扱われます。
パラメータファイルのセクション
マッピングタスク、タスクフロー、リニアタスクフローなどのアセット全体でパラメータファイルを再利用できます。複数のアセットにパラメータファイルを使用するには、パラメータファイルの異なるセクションでパラメータをグループ化します。
パラメータファイルのそれぞれのセクションの前には、パラメータ値を適用するプロジェクト、フォルダ、およびアセットを識別する見出しが表示されます。見出しのすぐ下にパラメータを定義し、それぞれのパラメータを新しい行に入力します。
以下の表では、パラメータファイルの各セクションを定義する見出し、および各セクションに定義したパラメータのスコープについて説明します。
見出し | 説明 |
|---|
#USE_SECTIONS | パラメータファイルにアセット固有のパラメータが含まれていることをデータ統合に伝えます。この見出しを、セクションが含まれるパラメータファイルの最初の行として使用します。それ以外の場合、データ統合は最初のグローバルセクションのみを読み取り、その他すべてのセクションを無視します。 |
[グローバル] | すべてのプロジェクト、フォルダ、タスク、タスクフロー、およびリニアタスクフローのパラメータを定義します。 |
[プロジェクト名].[フォルダ名]。[タスクフロー名] または [プロジェクト名].[タスクフロー名] | 名前付きタスクフローのタスクのパラメータのみを定義します。 タスクフローセクションおよびグローバルセクションでパラメータが定義されている場合、タスクフローセクションの値でグローバル値が上書きされます。 |
[プロジェクト名].[フォルダ名]。[リニアタスクフロー名] または [プロジェクト名].[リニアタスクフロー名] | 名前付きリニアタスクフローのタスクのパラメータのみを定義します。 リニアタスクフローセクションおよびグローバルセクションでパラメータが定義されている場合、リニアタスクフローセクションの値でグローバル値が上書きされます。 |
[プロジェクト名].[フォルダ名]。[タスク名] または [プロジェクト名].[タスク名] | 名前付きタスクのパラメータのみ定義します。 タスクセクションおよびグローバルセクションでパラメータが定義されている場合、タスクセクションの値でグローバル値が上書きされます。 タスクセクションとタスクフローまたはリニアタスクフローセクションでパラメータが定義されており、タスクフローによってタスクが使用された場合、タスクセクションの値でタスクフローセクションの値が上書きされます。 |
パラメータスコープ
パラメータファイルの複数のセクションで同じパラメータの値を定義した場合、スコープが最も小さいパラメータが、スコープが大きいパラメータよりも優先されます。
この場合、データ統合は次のような順序でパラメータ値を優先します。
- 1タスクセクションで定義した値。
- 2タスクフローまたはリニアタスクフローセクションで定義した値。
- 3#USE_SECTIONSで定義した値。
- 4グローバルセクションで定義した値。
例えば、パラメータファイルに以下のようなパラメータ値が含まれていたとします。
[GLOBAL]
$$connection=ff5
[Project1].[Folder1].[monthly_sales]
$$connection=ff_jd
Project1内のFolder1のタスク「monthly_sales」の場合、パラメータ$$connectionの値は「ff_jd」です。その他すべてのタスクでは、$$connectionの値は「ff5」です。
タスクセクションとタスクフローまたはリニアタスクフローセクションでパラメータを定義し、タスクフローによってタスクが使用された場合、データ統合ではタスクセクションで定義したパラメータ値が使用されます。
例えば、パラメータファイルで次のようにパラメータ値を定義します。
#USE_SECTIONS
$$source=customer_table
[GLOBAL]
$$location=USA
$$sourceConnection=Oracle
[Default].[Sales].[Task1]
$$source=Leads_table
[Default].[Sales].[Taskflow2]
$$source=Revenue
$$sourceconnection=ODBC_1
[Default].[Taskflow3]
$$source=Revenue
$$sourceconnection=Oracle_DB
$$location、$$source、および$$sourceconnectionパラメータを含むTask1。Task1を含むTaskflow2とTaskflow3。
Taskflow2を実行すると、データ統合では次のパラメータ値が使用されます。
パラメータ | セクション | 値 |
|---|
$$source | [Default].[Sales].[Task1] | Leads_table |
$$sourceconnection | [Default].[Sales].[Taskflow2] | ODBC_1 |
$$location | [GLOBAL] | USA |
Taskflow3を実行すると、データ統合では次のパラメータ値が使用されます。
パラメータ | セクション | 値 |
|---|
$$source | [Default].[Sales].[Task1] | Leads_table |
$$sourceconnection | [Default].[Taskflow3] | Oracle_DB |
$$location | [GLOBAL] | USA |
Task1を実行すると、データ統合では次のパラメータ値が使用されます。
パラメータ | セクション | 値 |
|---|
$$source | [Default].[Sales].[Task1] | Leads_table |
$$sourceconnection | [GLOBAL] | Oracle |
$$location | [GLOBAL] | USA |
$$sourceパラメータを含む他のすべてのタスクの場合、データ統合では値customer_tableが使用されます。
パラメータファイルの例
次の例は、パラメータファイル項目のサンプルです。
#USE_SECTIONS
$$oracleConn=Oracle_SK
$$city=SF
[Global]
$$ff_conn=FF_ja_con
$$st=CA
[Default].[Accounts].[April]
$$QParam=SELECT * from con.ACCOUNT where city=LAX
$$city=LAX
$$tarOb=accounts.csv
$$oracleConn=Oracle_Src
パラメータファイルテンプレート
マッピングタスクで、マッピングパラメータとそのパラメータのデフォルト値を含むパラメータファイルテンプレートを生成してダウンロードできます。パラメータファイルテンプレートには、実行時にオーバーライドできる入力パラメータと入出力パラメータが含まれています。パラメータファイルテンプレートを保存し、それを使用してタスクの実行時にパラメータ値を適用するか、マッピングパラメータを別のパラメータファイルにコピーします。
パラメータファイルテンプレートを生成すると、ファイルには、タスクのベースとなっているマッピングからのデフォルトのパラメータ値が含まれます。パラメータの作成時にデフォルト値を指定しない場合、テンプレートのパラメータの値は空白になります。
パラメータファイルテンプレートには、次の要素は含まれていません。
- •マッピングタスクで指定するランタイム値
- •部分的なパラメータ
- •詳細セッションプロパティ
- •システム定義変数
マッピングでパラメータを追加、編集、または削除する場合は、新しいパラメータファイルテンプレートをダウンロードします。
パラメータファイルテンプレートのダウンロード
1マッピングタスクの[ランタイムオプション]タブで、[パラメータファイルテンプレートのダウンロード]をクリックします。
ファイル名は<マッピングタスク名>.paramです。
2以降のタスク実行でこのファイルを使用する場合は、Secure Agentからアクセスできる場所にパラメータファイルを保存します。
タスクの設定時に[ランタイムオプション]タブでファイル名とディレクトリを入力します。
パラメータファイルの場所。
パラメータファイルを使用する場合は、タスクタイプに応じて、ローカルマシンまたはクラウドでホストされているディレクトリにパラメータファイルを保存します。タスクの作成時に、[スケジュール]タブまたは[ランタイムオプション]タブでパラメータファイル名とディレクトリを入力します。
次の表に、各タスクタイプのデフォルトのパラメータファイルディレクトリを示します。
タスクタイプ | デフォルトのパラメータファイルディレクトリ |
|---|
マッピングに基づくマッピングタスク | <Secure Agentのインストールディレクトリ>/apps/Data_Integration_Server/data/userparameters |
詳細モードのマッピングに基づくマッピングタスク | <Secure Agentのインストールディレクトリ>/apps/data/userparameters |
データ転送タスク | <Secure Agentのインストールディレクトリ>/apps/Data_Integration_Server/data/userparameters |
同期タスク | <Secure Agentのインストールディレクトリ>/apps/Data_Integration_Server/data/userparameters |
マッピングタスクの場合、パラメータファイルを次のいずれかの場所に保存することもできます。
- ローカルマシン
Secure Agentがアクセス可能な場所にファイルを保存します。詳細モードのマッピングの場合は、Secure Agentマシンにファイルを保存する必要があります。
タスクの作成時に、[ランタイムオプション]タブでファイル名とディレクトリを入力します。ファイルの絶対パスを入力します。または、$PMシステム変数に関連するパス($PMRootDir/ParameterFilesなど)を入力します。
次の表に、使用できるシステム変数を示します。
システム変数 | 説明 |
|---|
$PMRootDir | データ統合サーバーのSecure Agentサービスのルートディレクトリ。 デフォルトは<Secure Agent installation directory>/apps/Data_Integration_Server/dataです。 |
$PMBadFileDir | 行エラーログと拒否ファイルのディレクトリ。 デフォルトは$PMRootDir/errorです。 |
$PMCacheDir | インデックスファイルとデータキャッシュファイルのディレクトリ。 デフォルトは、$PMRootDir/cacheです。 |
$PMExtProcDir | 外部プロシージャのディレクトリ。 デフォルトは、$PMRootDirです。 |
$PMLookupFileDir | ルックアップファイルのディレクトリ。 デフォルトは、$PMRootDirです。 |
$PMSessionLogDir | セッションログのディレクトリ。 デフォルトは$PMRootDir/../logsです。 |
$PMSourceFileDir | ソースファイルのディレクトリ。 デフォルトは、$PMRootDirです。 |
$PMStorageDir | セッションやワークフローのリカバリファイルなど、内部プロセスの動作状態に関連するファイルのディレクトリ。 デフォルトは、$PMRootDirです。 |
$PMTargetFileDir | ターゲットファイルのディレクトリ。 デフォルトは、$PMRootDirです。 |
$PMTempDir | 一時ファイルのディレクトリ。 デフォルトは、$PMRootDir/Tempです。 |
$PMWorkflowLogDir | ワークフローログのディレクトリ。 デフォルトは$PMRootDir/../logsです。 |
システム変数の設定済みパスを見つけるには、次のディレクトリにあるpmrdtm.cfgファイルを参照してください。
<Secure Agent installation directory>\apps\Data_Integration_Server\<Data Integration Server version>\ICS\main\bin\rdtm
$PMRootDir以外の変数の設定済みパスは、管理者のデータ統合サーバーシステム設定の詳細にあります。
場所が入力されていない場合、データ統合はデフォルトのパラメータファイルディレクトリを使用します。
- クラウドプラットフォーム
- Informatica Intelligent Cloud Servicesに保存されている接続を使用できます。次のテーブルは、使用可能な接続タイプと各接続タイプの設定要件を示しています。
接続タイプ | 要件 |
|---|
Amazon S3 V2 | 次の資格情報で作成された接続を使用できます。 S3バケットはパブリックである必要があります。 |
Azure Data Lake Store Gen2 | 次の資格情報で作成された接続を使用できます。 - - アカウント名
- - ClientID
- - クライアントシークレット
- - テナントID
- - ファイルシステム名
- - ディレクトリパス
ストレージポイントはパブリックである必要があります。 |
Google Storage V2 | 次の資格情報で作成された接続を使用できます。 - - サービスアカウントID
- - サービスアカウントキー
- - プロジェクトID
ストレージバケットはパブリックである必要があります。 |
タスクを設定する前に接続を作成します。タスクの作成時に、[ランタイムオプション]タブで使用する接続とファイルオブジェクトを選択します。
データ統合データ統合では、タスクの実行後に、パラメータファイルの場所と各パラメータの値がジョブの詳細に表示されます。
パラメータファイルに関するルールおよびガイドライン
データ統合はパラメータファイルの処理に次のルールを使用します。
- •パラメータファイルでパラメータが定義されていない場合、データ統合はタスクで定義されている値を使用します。
- •実行時にオーバーライド可能なソースまたはターゲットのオブジェクトパラメータがマッピングで使用されており、既存のオブジェクトがタスクで選択されている場合、パラメータファイルのパラメータ値をNULLにすることはできません。値がNULLの場合、タスクは失敗します。
- •詳細モードでは、パラメータファイルに入力パラメータ値を設定することはできません。入力パラメータ値に依存するパラメータファイル内の入出力パラメータをオーバーライドする場合は、マッピングタスクで設定する入力パラメータ値に基づいて、入出力パラメータ値が有効であることを確認してください。そうしないと、マッピングが失敗する可能性があります。
例えば、ソース接続が入力パラメータで、ソーステーブルが入出力パラメータの場合、パラメータファイルで設定するテーブル名は、マッピングタスクで設定したソース接続に存在している必要があります。
- •詳細モードでは、デフォルトのパラメータ値がスキーマ名とテーブル名に対して有効であることを確認してください。パラメータファイルを使用してスキーマ名またはテーブル名のオーバーライドのパラメータ値を更新し、デフォルトのパラメータ値が無効である場合、詳細モードのマッピングは失敗します。
- •データ統合はファイルをトップダウンで処理します。
- •同じセクションでパラメータ値が複数回定義されている場合、データ統合は最初の値を使用します。例えば、パラメータファイルには以下のタスクのセクションが含まれます。
[MyProject].[Folder1].[mapping_task1]
$$sourceconn=Oracle
$$filtervariable=ID
$$sourceObject=customer_table
$$targetconn=salesforce
$$sourceconn=ff_2
Mapping_task1を実行すると、sourceconnパラメーターの値はOracleになります。
- •パラメータ値がファイルで定義されている別のパラメータである場合は、パラメータ名の前に1つのドル記号($)を付けます。データ統合は、最も具体的な範囲内にある変数の最初の値を使用します。例えば、パラメータファイルに以下のようなパラメータ値が含まれていたとします。
[GLOBAL]
$$ffconnection=my_ff_conn
$$var2=California
$var5=North
[Default].[folder5].[sales_accounts]
$$var2=$var5
$var5=south
タスク「sales_accounts」で、「var5」の値は「south」です。var2はvar5として定義されているので、var2も「south」です。
詳細モードでは、パラメータ名の前に2つのドル記号($$)を付けます。
[GLOBAL]
$$ffconnection=my_ff_conn
$$var2=California
$$var5=North
[Default].[folder5].[sales_accounts]
$$var2=$$var5
$$var5=south
- •タスクが複数回定義されている場合、データ統合はセクションを結合します。
- • 同じタスクに対する複数のセクションでパラメータが定義されている場合、データ統合は最初の値を使用します。例えば、パラメータファイルには以下のタスクのセクションが含まれます。
[Default].[Folder1].[MapTask2]
$$sourceparam=Oracle_Cust
[Default].[Folder1].[MapTask2]
$$sourceparam=Cust_table
$$targetparam=Sales
MapTask2を実行すると、データ統合では次のパラメータ値が使用されます。
- - $$sourceparam=Oracle_Cust
- - $$targetparam=Sales
- •セクション内に存在する場合を除き、パラメータの値はグローバルです。
- •データ統合は、構文エラーのあるセクションを無視します。
- •詳細モードのマッピングのデフォルトの日付/時刻形式は、MM/DD/YYYY HH24:MI:SSです。別の日付/時刻形式を使用するには、マッピングタスクの詳細セッションプロパティDateTime Format Stringを設定します。
マッピングタスクでのパラメータファイルの使用
パラメータファイルを使用して、マッピングタスクのパラメータ値を指定できます。
1マッピングタスクを設定し、それぞれの入力または入出力パラメータのランタイム値を指定します。
2[ランタイムオプション]ページで、パラメータファイルテンプレートをダウンロードします。
テンプレートには、実行時にオーバーライドできるマッピングパラメータと、マッピングでデフォルト値が指定されている場合は、そのデフォルト値が含まれています。マッピングには一部のパラメータが含まれていない場合もあります。
3実行時に使用する値で、パラメータファイルのデフォルト値を更新します。
4生成されたテンプレートに含まれていないパラメータ(部分パラメータやシステム変数など)を追加します。
5パラメータファイルを保存するか、パラメータを別のパラメータファイルにコピーします。
6[ランタイムオプション]ページで、パラメータファイル名と場所を指定します。
7パラメータ値を更新する場合は、タスクの値を更新するのではなく、パラメータファイルの値を更新します。
パラメータファイルによる接続の上書き
マッピングに接続パラメータを使用している場合は、実行時にマッピングタスクで定義されている接続をパラメータファイルで指定した値でオーバーライドできます。
パラメータファイルで接続の値を定義する場合は、接続タイプをマッピングタスクのデフォルトの接続タイプと同じにする必要があります。例えば、フラットファイル接続パラメータを作成してマッピングでソース接続として使用するとします。マッピングタスクで、フラットファイルのデフォルトの接続を指定します。パラメータファイルでは、接続をフラットファイルの接続でオーバーライドのみできます。
パラメータを使用してFTP接続を上書きする場合、ファイルローカルディレクトリを同じにする必要があります。
パラメータファイルを使用して、FTP/SFTP接続でルックアップを上書きすることはできません。
注: 一部のコネクタは、キャッシュ済みのルックアップのみをサポートします。コネクタがサポートするルックアップのタイプを確認するには、適切なコネクタのヘルプを参照してください。
1マッピングで、入力パラメータを作成します。
- aパラメータのタイプに[接続]を選択します。
- b[実行時にパラメータのオーバーライドを許可する]を選択します。
2マッピングで、上書きする接続としてパラメータを使用します。
3マッピングタスクで、パラメータの詳細を次のように定義します。
- aデフォルトの接続を選択します。
- b[ランタイムオプション]タブで、パラメータファイルのディレクトリとパラメータファイル名を入力します。
4パラメータファイルで、実行時に使用する値で接続パラメータを定義します。
パラメータ名の前に2個のドル記号($$)を付けます。例えば、ConParamという名前のパラメータがあり、これを接続OracleCon1で上書きするとします。ランタイム値を次の形式を使用して定義します。
$$ConParam=OracleCon1
5接続を変更する場合は、パラメータファイルのパラメータ値を更新します。
パラメータファイルによるデータオブジェクトの上書き
マッピングでデータオブジェクトパラメータを使用している場合は、実行時にマッピングタスクで定義されているオブジェクトをパラメータファイルで指定した値でオーバーライドできます。
注: 複数のリレーショナルオブジェクトまたはファイルリストから読み取る場合、ソースオブジェクトを上書きすることはできません。実行時にターゲットを作成した場合、ターゲットオブジェクトを上書きすることはできません。
パラメータファイルでオブジェクトパラメータを定義する場合は、ファイル内のパラメータにマッピングタスクのデフォルトパラメータと同じメタデータが必要です。例えば、ソースオブジェクトACCOUNTをEMEA_ACCOUNTで上書きする場合は、両方のオブジェクトに同じフィールドと各フィールドの同じデータ型が含まれている必要があります。
1マッピングで、入力パラメータを作成します。
- aパラメータのタイプの[データオブジェクト]を選択します。
- b[実行時にパラメータのオーバーライドを許可する]を選択します。
2マッピングで、上書きするオブジェクトのオブジェクトパラメータを使用します。
3マッピングタスクで、パラメータの詳細を次のように定義します。
- aタイプを[シングル]に設定します。
- bデフォルトデータオブジェクトを選択します。
- c[スケジュール]タブで、パラメータファイルのディレクトリとファイル名を入力します。
4パラメータファイルで、実行時に使用するオブジェクトを指定します。次のいずれかのタスクを実行します。
- - フラットファイルまたはFTPソース以外のソースの場合は、パラメータ名の前に2つのドル記号($$)を付けます。例えば、ObjParam1という名前のパラメータがあり、これをデータオブジェクトSourceTableで上書きするとします。ランタイム値を次の形式を使用して定義します。
$$ObjParam1=SourceTable
- - フラットファイルおよびFTPソースの場合は、パラメータ名の前にドル記号($)を1つ付けます。次の例は、FTP接続のソースディレクトリ、ソースファイル名、およびリモートファイル名を上書きするために使用されるパラメータファイルからのものです。
#USE_SECTIONS
[MyProjectFolder].[MappingTask_ftp]
$Source_dir=/data/test/test_data/Test/
$Source_file=src_ff.txt
$RemoteFileName=/root/FlatFile/Scotty/Test/src_14892_1.txt
[Global]
5オブジェクトを変更する場合は、パラメータファイルのパラメータ値を更新します。
ソースクエリの上書き
マッピングでソースクエリまたはフィルタ条件を使用している場合は、マッピングタスクで指定されている値をパラメータファイルで指定した値でオーバーライドできます。リレーショナルデータベース接続とODBCデータベース接続のソースクエリをオーバーライドできます。
SQLクエリを定義する場合は、上書きされたクエリ内のフィールドがデフォルトのクエリ内のフィールドと同じである必要があります。パラメータファイル内のクエリが不足している場合または無効の場合、タスクは失敗します。
パラメータファイルでフィルタ条件パラメータが未解決の場合、データ統合はパラメータをフィルタ値として使用し、タスクはゼロ行を返します。
1マッピングで、データオブジェクトパラメータを作成します。
2[実行時にパラメータのオーバーライドを許可する]を選択します。
3パラメータをソースオブジェクトとして使用します。
4マッピングタスクで、[ソース]タブの[クエリ]をソースタイプとして選択します。
5デフォルトカスタムクエリを入力します。
6[ランタイムオプション]タブで、パラメータファイル名と場所を入力します。
7パラメータファイルで、タスクの実行時に使用する値を入力します。
8クエリを変更する場合は、パラメータファイルのパラメータ値を更新します。
ソースパーティションのオーバーライド
パラメータ化されたソース接続またはソースオブジェクトでパーティションを使用する場合は、パラメータファイルを使用してパーティションをオーバーライドできます。パーティションをオーバーライドするには、新しいパーティション設定を定義するJSONファイルを作成し、そのファイルをパラメータファイルで指定します。
フラットファイル接続とリレーショナル接続のパーティションをオーバーライドすることができます。
1マッピングで、ソース接続パラメータまたはソースオブジェクトパラメータのいずれかを実行時にオーバーライドできることを確認します。
2マッピングまたはマッピングタスクでデフォルトのパーティションを設定します。
3新しいパーティション設定を定義するJSONファイルを作成します。ソーストランスフォーメーションごとに、次の構造を持つオブジェクトを追加します。
{
"name": "$<Source transformation name>$",
"partitions": {
<partition details>
}
}
マップレット内のソーストランスフォーメーションのパーティションを設定する場合は、トランスフォーメーション名の前にMapplet_を含めます。例:
"name": "$Mapplet_MySource$"
4パーティション化の方法に基づいてパーティションの詳細を追加します。
必要に応じて、パーティション化の方法をオーバーライドすることもできます。JSONファイルで設定するメソッドは、マッピングまたはマッピングタスクのメソッドと一致している必要はありません。
- - 固定パーティション化の場合は、次の形式でパーティションの数を定義します。
"partitions": {
"type": "PASS_THROUGH",
"numOfPartitions": <number of partitions>
}
- - キー範囲のパーティション化の場合は、ソーステーブル名、パーティションキーフィールド名、およびキー範囲を次の形式で指定します。
"partitions": {
"type": "KEY_RANGE",
"tableName": "<source table name>",
"columnName": "<partition key field name>",
"ranges": [
{
"start": <value A>,
"end": <value B>
}
]
}
開始値と終了値を持つ必要な数のオブジェクトをranges配列に含めます。最初のキー範囲に未定義の最小値を使用するには、開始値を空の文字列に設定します。最後のキー範囲に未定義の最大値を使用するには、終了値を空の文字列に設定します。
- - パススルーパーティション化の場合は、それぞれのパーティションのSQLクエリまたはソースフィルタを次の形式で定義します。
"partitions": {
"type": "PASS_THROUGH_STRATEGY",
"passThroughAttributes": [
[
{
"name": <either "SQL Query" or "Source Filter">,
"value": <query or filter string>
}
]
]
}
必要な数のクエリまたはフィルタオブジェクトをpassThroughAttributes配列に含めます。
5JSONファイルをパラメータファイルと同じディレクトリに保存します。
6パラメータファイルで、次のパラメータと値を使用してJSONファイルを指定します。
$$mtTaskOverride.path=FILE:<file name>
パラメータファイルでセクションを使用する場合は、このパラメータをタスクセクションに追加します。このパラメータをグローバルセクション、タスクフローセクション、または線形タスクフローセクションで定義した場合、データ統合ではそのパラメータが無視されます。
7パーティション設定を変更する場合は、JSONファイルを更新します。
Example 1. JSONファイルの例
次の例は、ソーストランスフォーメーションSource1の固定パーティションとソーストランスフォーメーションSource2のパススルーパーティションをオーバーライドするJSONファイルを示しています。
[
{
"name": "$Source1$",
"partitions": {
"type": "PASS_THROUGH",
"numOfPartitions": 3
}
},
{
"name": "$Source2$",
"partitions": {
"type": "PASS_THROUGH_STRATEGY",
"passThroughAttributes": [
[
{
"name": "SQL Query",
"value": "SELECT * FROM DEPT_DATA WHERE DEPTNO>20"
}
],
[
{
"name": "Source Filter",
"value": "LOC='DALLAS'"
}
],
[
{
"name": "SQL Query",
"value": "SELECT * FROM DEPT_DATA WHERE DNAME='RESEARCH'"
}
]
]
}
}
]
パラメータファイルを使用した、実行時のターゲットオブジェクトの作成
マッピングでターゲットオブジェクトパラメータを使用している場合は、実行時にパラメータファイルを使用してターゲットを作成できます。
ターゲットオブジェクトのパラメータおよび使用する名前をパラメータファイルに含めます。パラメータファイルにターゲット名が存在しない場合、データ統合の実行時にターゲットが作成されます。以降の実行時に、データ統合は既存のターゲットを使用します。
パラメータファイルを使用して実行時にターゲットを作成するには、次の条件を満たす必要があります。
- •マッピングが、フラットファイル、リレーショナル、またはファイルストレージベースの接続を使用している。
- •マッピングが、マッピングタスク、動的マッピングタスク、またはタスクフローで使用されている。
ファイルストレージベースの接続である場合は、パラメータファイルのパラメータ値にパスとファイル名を含めることができます。パスが指定されていない場合、接続で指定されたデフォルトのパスにターゲットが作成されます。
1マッピングで、入力パラメータを作成します。
- aパラメータのタイプの[データオブジェクト]を選択します。
- b[実行時にパラメータのオーバーライドを許可する]を選択します。
2マッピングで、パラメータをターゲットオブジェクトとして使用します。
3タスクで、パラメータの詳細を次のように定義します。
- aタイプを[シングル]に設定します。
- bデフォルトデータオブジェクトを選択します。
- c[スケジュール]タブで、パラメータファイルのディレクトリとファイル名を入力します。
4パラメータファイルで、作成するターゲットオブジェクトの名前を指定します。
パラメータ名の前に2個のドル記号($$)を付けます。例えば、TargetObjParamという名前のパラメータがあり、MyTargetという名前のターゲットオブジェクトを作成する場合は、ランタイム値を次の形式を使用して定義します。
$$TargetObjParam=MyTarget
ファイルストレージベースのコネクタタイプである場合は、オブジェクト名にパスを含めます。パスを含めない場合、接続で指定されたデフォルトのパスにターゲットが作成されます。
5オブジェクトを変更する場合は、パラメータファイルのパラメータ値を更新します。
同期タスクとPowerCenterタスクでのパラメータファイルの使用
パラメータファイルを使用して、同期タスクまたはPowerCenterタスクのパラメータ値を指定します。
1実行時に使用するタスクパラメータと値を一覧表示するパラメータファイルを作成します。
2または、グローバルあるいはタスク固有のセクションの既存のパラメータファイルにタスクパラメータを追加します。
3タスクの設定時に[スケジュール]タブでパラメータファイルの名前と場所を指定します。
4パラメータ値を更新する場合は、パラメータファイル内の値を更新します。