🛠️

【DataSpider】ログテーブルの作り方

2022/06/03に公開

ETL_EventLogの作り方

ログテーブルの作り方を解説します。

ここではDr.Sumに[ETL_EventLog]テーブルを作成しています。
image.png

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:正常終了)';

image.png

テーブルのコメントに記述している[ステータス]カラムが重要です。

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