🛠️
【DataSpider】ログテーブルの作り方
ETL_EventLogの作り方
ログテーブルの作り方を解説します。
ここではDr.Sumに[ETL_EventLog]テーブルを作成しています。
CREATE TABLE ETL_EventLog (
イベントID VARCHAR NOT NULL UNIQUE,
イベント名 VARCHAR,
ステータス VARCHAR,
開始日時 VARCHAR,
終了日時 VARCHAR,
メッセージ VARCHAR);
ALTER TABLE ETL_EventLog MODIFY COMMENT 'DataSpiderの処理状況確認用(1:未処理 2:処理中 3:異常終了 4:正常終了)';
テーブルのコメントに記述している[ステータス]カラムが重要です。
1:未処理 2:処理中 3:異常終了 4:正常終了
イベントIDが001から004までが孫スクリプトです。
後述する実行判断で、処理実行が決定しましたら、該当イベントの項目をUPDATEします。
実行ログ
UPDATE ETL_EventLog
SET
ステータス = '2',
開始日時 = '${タイムスタンプ}',
メッセージ = '処理を開始します。'
WHERE
イベントID = '${実行スクリプトID}'
正常終了ログ
UPDATE ETL_EventLog
SET
ステータス = '4',
終了日時 = '${タイムスタンプ}',
メッセージ = '正常終了しました。'
WHERE
イベントID = '${実行スクリプトID}'
例外ログ
UPDATE ETL_EventLog
SET
ステータス = '3',
終了日時 = '${タイムスタンプ}',
メッセージ = '${エラーメッセージ}'
WHERE
イベントID = '${実行スクリプトID}'
各UPDATE文の使い方はまた他の記事で解説します。
ETL_EventLog_TRNの作り方
ETL_EventLogテーブルと同じ構造のテーブルを用意します。
ETL_EventLogテーブルはUPDATE文をかけて、常に最新の情報のみを保持するテーブルです。
かたやETL_EventLog_TRNテーブルはINSERTをしていく、情報を貯めるテーブルです。
CREATE TABLE ETL_EventLog (
イベントID VARCHAR NOT NULL UNIQUE,
イベント名 VARCHAR,
ステータス VARCHAR,
開始日時 VARCHAR,
終了日時 VARCHAR,
メッセージ VARCHAR);
ALTER TABLE ETL_EventLog MODIFY COMMENT 'DataSpiderの処理状況確認用(1:未処理 2:処理中 3:異常終了 4:正常終了)';
これらのテーブルの使い方については別記事で解説をしていますので、ご参考になれば。
Discussion