Interact イベント・パターン・レポート用のストアード・プロシージャー
Interact イベント・パターン・レポートは、ステージング・テーブルに格納されているデータを使用します。このデータは、ストアード・プロシージャーによって設定されます。ストアード・プロシージャーは、デルタ・リフレッシュ操作を実行します。
Interact イベント・パターン・レポートのデータは、次の 2 つのステップで処理されます。
- Interact ETL プロセスによってオーディエンス blob データが変換され、ETL データベース表に読み込まれます。
- レポート統合機能により、事前に構成された並列実行でデータがパターン・タイプごとに増分的に集計されます。これは、Interact レポート・パック固有の機能です。
この両方のプロセスは、UACI_ETLPATTERNSTATERUN テーブルに対するデータベース・トリガーと統合されています。このトリガーは ETL の実行が成功すると起動され、レポート・データを集計するデータベース・ジョブをサブミットします。
次の表には、ストアード・プロシージャーと、それによって実行されるタスクに関する情報が示されます。
ストアード・プロシージャー | タスク |
---|---|
SP_GENERATE_PATTERN_MATCHALL | SP_POPULATE_PATTERN_MATCHALL プロシージャーによって内部的に呼び出されます。ストアード・プロシージャーの前回の実行以降に実行された「すべて一致」パターンのデータの取得を担当します。 |
SP_GENERATE_PATTERN_COUNTER | SP_POPULATE_PATTERN_COUNTER プロシージャーによって内部的に呼び出されます。ストアード・プロシージャーの前回の実行以降に実行された「カウンター」パターンのデータの取得を担当します。 |
SP_GENERATE_PATTERN_WC | SP_POPULATE_PATTERN_WC プロシージャーによって内部的に呼び出されます。ストアード・プロシージャーの前回の実行以降に実行された「重みづけカウンター」パターンのデータの取得を担当します。 |
SP_POPULATE_PATTERN_MATCHALL | ストアード・プロシージャーの前回の実行以降に受信した「すべて一致パターン」タイプのデータを処理します。 |
SP_POPULATE_PATTERN_COUNTER | ストアード・プロシージャーの前回の実行以降に受信した「カウンター・パターン」タイプのデータを処理します。 |
SP_POPULATE_PATTERN_WC | ストアード・プロシージャーの前回の実行以降に受信した「重みづけカウンター・パターン」タイプのデータを処理します。 |
SP_UPDATE_UACI_TABLES_STATS | トリガーによって呼び出され、データベース統計を更新し、レポート・データの集約のためのデータベース・ジョブをサブミットします。 以下の ETL テーブルの統計を更新します。
|
SP_POPULATE_PATTERN_LOCK (p_parallel_degree) |
構成された並列実行の度合いで UARI_PATTERN_LOCK テーブルを更新します。 p_parallel_degree は、並列に実行される集計処理の度合いです。 |
SP_AGGR_RUN_STATUS | 集計処理が始まる前に Interact ETL プロセスによって呼び出され、実行中のストアード・プロシージャーのロック状況を検査します。UARI_PATTERN_LOCK テーブルに対して実行されます。 |
SP_REFRESH_PATTERNINFO | Oracle および DB2® の場合のみ UARI_PATTERNSTATE_INFO テーブルをリフレッシュして、IC とカテゴリーの状態およびオーディエンス・レベル情報を取得します。 このプロシージャーは、集計プロシージャーが開始する前にトリガーによって呼び出されます。 Mviews は SQL Server ではサポートされないため、このプロシージャーは SQL Server には適用されません。 |
SP_UARI_REBIND_PACKAGES | DB2 の場合のみ 集計トリガーおよびプロシージャーに関連付けられたパッケージを再バインドします。SP_UPDATE_UACI_TABLES_STATS プロシージャー呼び出しの後に、トリガーによって呼び出されます。 |
ストアード・プロシージャー | タスク |
---|---|
SQ_UARI_RUN | 固有の実行 ID を作成します。実行 ID のリストは、UARI_RUNS テーブルに保管されます。 |
SQL Server では、RunId 列の IDENTITY プロパティーを使用して RunID が生成され、実行のたびに新しい ID が生成されます。
ストアード・プロシージャー | タスク |
---|---|
TR_AGGREGATE_DELTA_PATTERNS | 値 3 で UACI_ETLPATTERNSTATERUN テーブルが更新された後、データ集計のストアード・プロシージャーを呼び出すジョブをサブミットすることにより、トリガーを起動します。 |
ETL プロセス
最初の実行時は、ETL は UARI_DELTA_PATTERNS テーブルのそれぞれの PatternID に対して何も値を挿入しません。すべてのパターンが新規またはデルタであるためです。レポート集計処理では、ETL テーブルからすべての PatternID が収集され、それらが UARI_DELTA_PATTERNS テーブルに挿入されます。
ETL プロセスは、SP_AGGR_RUN_STATUS プロシージャーを呼び出します。SP_AGGR_RUN_STATUS プロシージャーは、UARI_PATTERN_LOCK テーブルを検査して、次の JobID に基づいて実行中のジョブを調べます。
JobID 値 | 理由 |
---|---|
Y | ジョブは実行中。シナリオは実行中か失敗。 |
N | 失敗したジョブ。 |
ETL プロセスは常に、サブミットされたジョブの状況を検査することにより、レポート集計の状況を検査します。ETL は、レポート集計が実行中であることを検出すると、実行を開始しません。スケジュールに従って ETL が再度開始されます。
ETL プロセスは、UARI_PATTERN_LOCK テーブルを検査して、値が Y の JobID の数を調べます。値が Y の JobID がまったくない場合のみ、ETL プロセスが開始されます。いずれかの JobID の値が Y であれば、ETL プロセスはスキップされ、スケジュールされた次の間隔で実行されます。ETL プロセスに関する詳細は、「IBM Interact 管理者ガイド」を参照してください。
2 回目の実行以降、ETL プロセスは、更新された PatternID について、UARI_DELTA_PATTERNS テーブルの更新フラグを更新します。
- 更新されたデータの場合は、PatternID に U のマークが付けられます。
- 削除されたデータの場合は、PatternID に D のマークが付けられます。
- 新しく追加されたデータの場合、PatternID はレポート集計コードで識別され、P のマークが付けられます。
集計処理は、U フラグまたは D フラグのマークが付けられた PatternIDs のみを対象に実行されます。