30天學會Data Integration - Kettle系列 第 9 篇 - 預覽、除錯與驗證Transformation

 此篇要來介紹次要工具列中常使用到的功能,另外也可以從主要工具列上的Action選單找到這些功能



預覽

在主要編輯區域設定Steps時,常常會想要搶先看一下資料的分析是否正確,此時可以按下Preview按鈕,然後在右方選擇想查看的Step,或是在想查看的Step按右鍵選擇Preview選項也可以



接著會出現一個設定視窗,可以設定你想要預覽的資料筆數,設定完畢之後請按下Quick Launch按鈕,這個例子有100筆資料,但我想取得10筆資料來看看



預覽的資料結果,可以按Get more rows來取得下10筆的資料,或是按Stop結束預覽,如果你按下Close會發現Transformation一直停在執行的狀態,可以點選次要工具列Pause icon來取得下10筆預覽結果,或是按下Stop icon來結束預覽



除錯

點選次要工具列的debug icon



設定方式與預覽很像,差別在於debug可以設定中斷點,下圖是設定的方式,設定中斷點的條件,例如在stateCode欄位值等於AK時,則停止



完成設定即可執行



結果



可以按下Get more rows,資料將停在下一個符合中斷點條件的資料上

驗證

在設計Step的過程中,Kettle會出現很多設定提示,通常在不熟、看不懂或是沒仔細看的情況下就直接忽略了,這會造成在在設計過程中畫面看似很正常,但在執行Transformation卻出錯了,所以在設計過程中,我們可以使用驗證來幫我們確認設計上是否有需要調整的地方。

按下次要工具列上面的Verify icon會出現驗證結果的視窗,透過視窗訊息我們看到,Filter rows這個Step輸出時會有true(符合Filter條件)與false(符合Filter條件)兩種結果,但是預設範例中,卻只有設定一條Hop將符合Filter條件的資料傳給Dummy (do nothing),雖然在執行Transformation不會出錯,但是在驗證卻不會過



此時我們可以增加一個Dummy (do nothing),應該還記得怎麼新增Step與Hop吧,忘記的可以複習一下第6篇,在建立Hop時,Kettle會問你這條Hop是要傳送什麼資料,我們就選Result is FALSE(接收不符合Filter rows條件的資料)



然後在執行一次驗證,錯誤訊息就消失了,我們可以勾選Show successful results來查看所有的驗證訊息



其實Steps都有它自己獨特的功能,我自己也不是每個Steps都很熟,有些Steps會有true與false兩種處理結果,但有些Steps只有一種處理結果,不過在建立Hops時,Kettl其實會提示,但在設計過程中Kettle不會跟你說,因為你少設一條Hop所以不能執行,也沒有規定沒建立完整的Hops就不能執行成功,像預設範例我們講了好幾篇,都還是可以成功執行Transformation,不過當設計越複雜以及後續搭配job來使用時,就會多出很多變因,不過我想大家應該都是習慣,等到遇到問題再來解決吧XD,這邊就先讓大家有個印象,後續在實做時會再進一步說明。

下一篇就開始說明,大家最期待的,如何設計Transformation

參考資料:
http://wiki.pentaho.com/display/EAI/.14+Logging
http://zoran-stipanicev.from.hr/2013/01/07/transformation-verification-in-pentaho-data-integration-kettle/


留言

這個網誌中的熱門文章

CPE 一顆星選集題目說明與解答 - Java 筆記與心得分享

Visual Studio 自動排版格式化程式碼

1. Vito's family (CPE10406, UVA10041) - CPE一顆星解答與說明