ETL プロセスの構成
Interact ETL プロセスをインストールした後、ETL プロセス・サーバーおよび Marketing Platform 構成ページでファイルを変更してプロセスを構成する必要があります。
このタスクについて
ETL プロセスの構成のために、必要な Java ランタイム・ファイルのロケーションを示すファイルが ETL プロセス・サーバー上の Interact ホーム・ディレクトリーにあるほか、他の環境変数も存在します。次に、このインストール済み環境に関連付けられた IBM® Marketing Platform サーバーに接続し、そこの構成ページを使用して、ETL プロセスの実行に必要なプロパティーをセットアップする必要があります。
手順
- ETL プロセスがインストールされているサーバーで、次のファイルを任意のテキスト・エディターで開きます。 Microsoft Windows 上の <Interact_home>\PatternStateETL\bin\setenv.bat、または UNIX ライク・オペレーティング・システム上の <Interact_home>\PatternStateETL\bin\setenv.sh。
- set JAVA_HOME=[CHANGE ME] 行の [CHANGE ME] を、使用する 64 ビット Java ランタイムの実際のパスに変更して、この行を完成させます。 注: IBM Marketing Software インストーラーによって <Interact_home>\..\jre (例えば C:\IBM\IMS\jre) に Java ランタイムが置かれますが、これはインストールのみに使用される 32 ビット Java ランタイムです。このランタイムは ETL プロセスの実行には適しません。サポートされる 64 ビット Java ランタイムがまだインストールされていない場合はインストールして、そのランタイムを使用するように setenv ファイルを更新してください。
- set JDBCDRIVER_CP= 行に、システム・テーブルが含まれるデータベースへの接続に使用する JDBC ドライバーの実際のロケーションを指定して、この行を完成させます。 例えば、Oracle データベースに接続する場合は、ojdbc7.jar のローカル・コピーのパスを指定します。
- set JAVA_HOME=[CHANGE ME] 行の [CHANGE ME] を、使用する 64 ビット Java ランタイムの実際のパスに変更して、この行を完成させます。
- サポートされる Web ブラウザーで、このインストール済み環境に関連付けられた IBM Marketing Platform サーバーに接続し、管理者レベルの資格情報を使用してログインします。
- ツールバーの「設定」 > 「構成」をクリックして「構成」ページを開きます。
「構成」ページに構成カテゴリー・ツリーが表示されます。
- 「構成カテゴリー」ツリーの Interact | ETL に移動します。
- ツリー内の patternStateETL の下の PatternStateETLConfig Template をクリックして、新しいパターン状態 ETL 構成を作成します。
右ペインで、以下の情報を入力します。
- 新しいカテゴリー名。この構成を一意的に識別できる名前を指定します。ETL プロセスを実行するときはこれとまったく同じ名前を指定する必要があることに注意してください。この名前をコマンド・ラインで指定する際の便宜のため、スペースや句読点を含んだ名前は避けるようにしてください (例: ETLProfile1)。
- runOnceADay。この構成の ETL プロセスを毎日 1 回実行するかどうかを決定します。有効な応答は「はい」または「いいえ」です。ここで「いいえ」を応答した場合、プロセスの実行スケジュールは processSleepIntervalInMinutes によって決まります。
- preferredStartTime。ETL プロセスの希望開始時刻。例えば 01:00:00 AM のように、HH:MM:SS AM/PM の形式で時刻を指定します。
- preferredEndTime。ETL プロセスの希望停止時刻。例えば 08:00:00 AM のように、HH:MM:SS AM/PM の形式で時刻を指定します。
- processSleepIntervalInMinutes。1 日に 1 回実行するように ETL プロセスを構成していない場合は (runOnceADay プロパティーで指定)、ETL プロセスの実行間隔をこのプロパティーで指定します。例えば、ここで 15 を指定すると、ETL プロセスは実行停止後に 15 分待機してからプロセスを再開するようになります。
- maxJDBCInsertBatchSize。照会をコミットする前の JDBC バッチ・レコードの最大数。デフォルトでは 5000 に設定されます。これは ETL プロセスが 1 つの反復の中で処理するレコードの最大数ではないことに注意してください。ETL プロセスは反復ごとに UACI_EVENTPATTERNSTATE テーブルの使用可能レコードをすべて処理します。ただし、それらのレコードはすべて maxJDBCInsertSize のチャンクに分割されます。
- maxJDBCFetchBatchSize。ステージング・データベースから取り出す JDBC バッチ・レコードの最大数。
ETL のパフォーマンスを調整するために、この値を大きくする必要がある場合があります。
- communicationPort。ETL プロセスが停止要求を listen するネットワーク・ポート。通常の環境では、ネットワーク・ポートをデフォルト値から変更する理由はないはずです。
- queueLength。パフォーマンス調整に使用される値。パターン状態データのコレクションは、フェッチされた後にオブジェクトに変換されます。 これらのオブジェクトはキューに追加されて処理され、データベースに書き込まれます。このプロパティーは、そのキューのサイズを制御します。
- completionNotificationScript。ETL プロセスの完了時に実行するスクリプトの絶対パスを指定します。スクリプトを指定する場合、次の 3 つの引数が完了通知スクリプトに渡されます。開始時刻、終了時刻、および処理されたイベント・パターン・レコードの合計数。開始時刻と終了時刻は、1970 年から経過したミリ秒数を表す数値です。
- requireAuthentication。パターン状態 ETL コマンドを実行するためにパスワードが必要かどうかを指定します。パターン状態 ETL コマンドを実行するプラットフォーム・ユーザーには、管理特権が必要です。
- 構成が完了したら、「保存」をクリックします。 構成を保存すると、ツリー内の新しい構成の下に次の 3 つの追加カテゴリーが自動的に作成されます。Report、RuntimeDS、および TargetDS。Report カテゴリーは、レポート集約 ETL 統合を構成するために使用します。RunteimDS および TargetDS カテゴリーは、ETL プロセスが処理データを取り出すデータ・ソース (Interact ランタイム・テーブルが含まれているデータベース) と、結果を保管するデータ・ソースを指定するために使用します。
- レポート集約 ETL 統合構成の Interact | ETL | patternStateETL | patternStateETLName | Report カテゴリーを構成します。 右ペインの「設定の編集」をクリックして、以下のフィールドに入力します。
- enable。ETL とのレポート統合を有効または無効にします。このプロパティーは、デフォルトでは disable に設定されます。
- retryAttemptsIfAggregationRunning。ロック・フラグが設定されている場合に、レポート集約が完了したかどうかを調べる検査を ETL が試行する回数。このプロパティーは、デフォルトで 3 に設定されます。
- sleepBeforeRetryDurationInMinutes。試行から次の試行までのスリープ時間 (分単位)。このプロパティーは、デフォルトで 5 分に設定されます。
- aggregationRunningCheckSql。このプロパティーは、レポート集約ロック・フラグが設定されているか調べるために実行できるカスタム SQL を定義するときに使用します。デフォルトでは、このプロパティーは空です。このプロパティーが設定されない場合、ETL は次の SQL を実行してロック・フラグを取得します。
select count(1) AS ACTIVERUNS from uari_pattern_lock where islock='Y' => If ACTIVERUNS is > 0, lock is set
- aggregationRunningCheck。ETL の実行前にレポート集約が実行中かどうかを調べる検査を有効または無効にします。このプロパティーは、デフォルトで enable に設定されます。
終了したら変更を保存します。
- ETL 構成の Interact | ETL | patternStateETL | <patternStateETLName> | RuntimeDS と Interact | ETL | patternStateETL | <patternStateETLName> | TargetDS カテゴリーを構成します。
この 2 つのカテゴリーは、ETL プロセスが使用するイベント・パターン・データを取得するためのデータ・ソースと保管するためのデータ・ソースを決定します。
注: TargetDS 構成に対して指定するデータ・ソースは、Interact ランタイム・テーブルが保管されるデータ・ソースと同じであっても、パフォーマンス上の理由で異なるデータ・ソースであってもかまいません。- 構成するカテゴリー (RuntimeDS または TargetDS) をクリックします。
- 右ペインの「設定の編集」をクリックして、以下のフィールドに入力します。
- type。定義するデータ・ソースがサポートされるデータベース・タイプのリスト。
- dsname。データ・ソースの JNDI 名。この名前は、ターゲット・データ・ソースとランタイム・データ・ソースにユーザーがアクセスできるようにするために、ユーザーのデータ・ソース構成でも使用する必要があります。
- driver。使用する JDBC ドライバーの名前。以下のいずれかにします。
Oracle:oracle.jdbc.OracleDriver
Microsoft SQL Server の場合: com.microsoft.sqlserver.jdbc.SQLServerDriver
IBM DB2:com.ibm.db2.jcc.DB2Driver
- serverUrl。データ・ソースの URL。以下のいずれかにします。
Oracle: jdbc:oracle:thin:@ <your_db_host>:<your_db_port>:<your_db_service_name>
Microsoft SQL Server の場合:jdbc:sqlserver:// <your_db_host>:<your_db_port> ;databaseName= <your_db_name>
IBM DB2:jdbc:db2:// <your_db_host>:<your_db_port>/<your_db_name>
- connectionpoolSize。接続プールのサイズを示す値。パフォーマンス調整用です。使用可能なデータベース接続数によっては、パターン状態データの読み取りと変換が同時に行われます。接続プール・サイズを大きくすることで同時データベース接続数を増やすことができますが、メモリーとデータベースの読み取り/書き込み能力の制限を受けます。例えば、この値を 4 に設定した場合は、4 つのジョブが同時に実行されます。データ量が大きい場合は、メモリーとデータベースのパフォーマンスが十分確保できるのであれば、この値を 10 や 20 などの数まで大きくしなければならないこともあります。
- schema。この構成の接続先のデータベース・スキーマの名前。
- connectionRetryPeriod。ConnectionRetryPeriodプロパティーは、データベース接続要求が失敗した場合に、Interact によって自動的に再試行される時間を秒単位で指定します。Interact はデータベース・エラーまたは失敗をレポートする前に、この時間、自動的にデータベースへの再接続を試行します。値を 0 に設定すると、Interact は無期限に再試行します。 値を -1 に設定すると、再試行は試みられません。
- connectionRetryDelay。ConnectionRetryDelay プロパティーは、Interact がデータベース接続に失敗した場合に、再接続を試行するまでの待ち時間を秒数で指定します。値を -1 に設定すると、再試行は試みられません。
- IBM Marketing Platform サーバーでさらに、ツールバーの「設定」 > 「ユーザー」をクリックします。
- ETL プロセスを実行するユーザーを編集し、「データ・ソースの編集」をクリックします。
- ETL カテゴリーで定義した TargetDS カテゴリーおよび RuntimeDS カテゴリーに一致するデータ・ソースをユーザーに対して定義します。ユーザー・データ・ソースとして指定するデータ・ソース名は、TargetDS 構成または RuntimeDS 構成の dsname プロパティーの値と一致しなければなりません。 イベント・パターン状態 ETL は、ここで指定されたユーザー名とパスワードを処理時に読み取ってデータベースに接続します。