環(huán)境描述:
現(xiàn)在一個項目有很多個作業(yè)王暗,需要知道每次跑批后哪些ktr跑成功毛好,哪些失敗了
問題解決:
下面是一個具體的操作流程
首先建立數(shù)據(jù)庫表
CREATE TABLE test_1(id INT,NAME VARCHAR(10));
INSERT INTO test_1 VALUES(1,'hsj');
CREATE TABLE test_2(id INT PRIMARY KEY NOT NULL,NAME VARCHAR(10));
數(shù)據(jù)庫表建立完畢之后涩澡,新建ktr,ktr示意圖如下:
轉(zhuǎn)換日志
在上圖界面右鍵–“轉(zhuǎn)換設(shè)置”蹋砚,可以看到如下界面:
上圖中日志數(shù)據(jù)庫連接為數(shù)據(jù)庫日志表所存放數(shù)據(jù)庫的連接粉寞,日志表名稱隨便命名
點擊“SQL”昌执,出現(xiàn)如下界面
點擊上圖中“執(zhí)行”
日志表已經(jīng)成功建立烛亦。
接著執(zhí)行測試
查詢數(shù)據(jù)庫日志表
SELECT * FROM ETL_LOG
以下是LOG_FIELD字段的值:
2016/09/08 17:22:22 - Spoon - 轉(zhuǎn)換已經(jīng)打開.
2016/09/08 17:22:22 - Spoon - 正在打開轉(zhuǎn)換 [日志記錄]...
2016/09/08 17:22:22 - Spoon - 開始執(zhí)行轉(zhuǎn)換.
2016/09/08 17:22:22 - 日志記錄 - 為了轉(zhuǎn)換解除補丁開始 [日志記錄]
2016/09/08 17:22:22 - 表輸出.0 - Connected to database [DB2] (commit=1000)
2016/09/08 17:22:22 - 表輸入.0 - Finished reading query, closing connection.
2016/09/08 17:22:22 - 表輸入.0 - 完成處理 (I=1, O=0, R=0, W=1, U=0, E=0
2016/09/08 17:22:22 - 表輸出.0 - 完成處理 (I=0, O=1, R=1, W=1, U=0, E=0
步驟日志
配置參考轉(zhuǎn)換日志。
步驟日志中包含了各個步驟數(shù)據(jù)讀寫懂拾、輸入輸出等情況煤禽。
目的,無論是本地的.ktr文件或者是資源庫的ktr模型岖赋,只要模型被調(diào)用運行的日志就保存到一張日志表檬果,當模型在外部調(diào)用出錯時,方便查看日志文件查找原因唐断,話不多說选脊,直接入主題;
step1:打開ktr選擇ktr屬性:
step2:選擇日志選項
注意點:
1:最左邊脸甘,四個選項Transformation,Step,Performance知牌,logging channels代表四個不同的日志設(shè)置,選擇Transformation即可斤程;
1:自己選擇DBconnection,表名自定義角寸;
2:注意下面的field是日志表的結(jié)構(gòu),但是此時不要陷入一個誤區(qū)忿墅,初次設(shè)置日志表扁藕,表在數(shù)據(jù)庫是沒有的,需要我們初始化表疚脐;初始化表并不是代表要我們自己手工去數(shù)據(jù)庫按照這些字段創(chuàng)建表亿柑,首次設(shè)置我們只需要選擇DB,定義表名然后點擊SQL如下圖:
工具自動給我們按照我們定義的表名寫好了SQL棍弄,里面還包括創(chuàng)建索引望薄,如果不需要手工這里把創(chuàng)建索引的SQL刪除就好,僅僅只創(chuàng)建表結(jié)構(gòu)呼畸,因為索引很耗空間痕支。然后我們點擊執(zhí)行就好了,表創(chuàng)建成功蛮原。如果再次點擊執(zhí)行會報錯卧须,每個模型執(zhí)行一次就好,以后每執(zhí)行一次日志表舅會創(chuàng)建一條新記錄,記錄該次執(zhí)行的結(jié)果花嘶。
執(zhí)行ktr后查看日志數(shù)據(jù)庫:
我們這里貼出log_field字段的內(nèi)容
2013/05/23 14:31:59 - test - 為了轉(zhuǎn)換解除補丁開始 [test]
2013/05/23 14:31:59 - 表輸出.0 - Connected to database [output_dbconnection] (commit=1000) 2013/05/23 14:31:59 - 表輸入.0 - Finished reading query, closing connection. 2013/05/23 14:31:59 - 表輸入.0 - 完成處理 (I=4, O=0, R=0, W=4, U=0, E=0 2013/05/23 14:31:59 - 表輸出.0 - 完成處理 (I=0, O=4, R=4, W=4, U=0, E=0 END
可以看出這個字段的內(nèi)容就是在spoon里面執(zhí)行ktr時控制臺的日志輸出的內(nèi)容類似