iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 9
0
Big Data

30天學會Data Integration - Kettle系列 第 9

預覽、除錯與驗證Transformation

  • 分享至 

  • xImage
  •  

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

http://ithelp.ithome.com.tw/upload/images/20161224/20091626ZDvdN6DzVB.png

預覽

在主要編輯區域設定Steps時,常常會想要搶先看一下資料的分析是否正確,此時可以按下Preview按鈕,然後在右方選擇想查看的Step,或是在想查看的Step按右鍵選擇Preview選項也可以
http://ithelp.ithome.com.tw/upload/images/20161224/20091626k5yzmeK01L.png

接著會出現一個設定視窗,可以設定你想要預覽的資料筆數,設定完畢之後請按下Quick Launch按鈕,這個例子有100筆資料,但我想取得10筆資料來看看
http://ithelp.ithome.com.tw/upload/images/20161224/20091626GjQ0sutenK.png

預覽的資料結果,可以按Get more rows來取得下10筆的資料,或是按Stop結束預覽,如果你按下Close會發現Transformation一直停在執行的狀態,可以點選次要工具列Pause icon來取得下10筆預覽結果,或是按下Stop icon來結束預覽
http://ithelp.ithome.com.tw/upload/images/20161224/20091626ClgVENVaUV.png

除錯

點選次要工具列的debug icon
http://ithelp.ithome.com.tw/upload/images/20161224/200916267KXU5bqXCU.png

設定方式與預覽很像,差別在於debug可以設定中斷點,下圖是設定的方式,設定中斷點的條件,例如在stateCode欄位值等於AK時,則停止
http://ithelp.ithome.com.tw/upload/images/20161224/20091626BMGlMrUxPd.png

完成設定即可執行
http://ithelp.ithome.com.tw/upload/images/20161224/200916262P1NqLao1z.png

結果
http://ithelp.ithome.com.tw/upload/images/20161224/20091626ywJbOBTym6.png

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

驗證

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

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

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

然後在執行一次驗證,錯誤訊息就消失了,我們可以勾選Show successful results來查看所有的驗證訊息
http://ithelp.ithome.com.tw/upload/images/20161224/20091626qYUIhSphrJ.png

其實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/


上一篇
查看Transformation執行結果
下一篇
Step - 讀取CSV檔案
系列文
30天學會Data Integration - Kettle30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言