iT邦幫忙

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

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

Step - 取得系統資訊並寫入資料庫

  • 分享至 

  • xImage
  •  

本篇要介紹的是有關日期資訊取得的Step:[Input]Get System Info,另外要介紹Step:[Flow]Filter rows來輔助資料分類的動作。

[Input]Get System Info 介紹

取得系統資訊,例如日期或參數

[Flow]Filter rows 介紹

使用簡單的條件式來過濾資料,可使用上一個Step中的欄位來進行條件式的設定,可以選擇以欄位值或是以指定的輸入值做比對。

本篇目標

延續上一篇的例子,將更新項目的更新時間欄位寫入今日的日期,新增項目的新增欄位寫入今日的日期,由於Northwind資料庫的Shippers沒有新增與更新日期的欄位,所以需要自行增加CreateTime與UpdateTime欄位喔!
http://ithelp.ithome.com.tw/upload/images/20170107/20091626oDGWXm6BsS.png

然後補上日期資訊
http://ithelp.ithome.com.tw/upload/images/20170107/20091626SttGTGtQoN.png

新增與設定[Input]Get System Info

新增Get System Info並建立Hop,兩點下進行設定,請輸入名稱與類型
http://ithelp.ithome.com.tw/upload/images/20170107/20091626oOG2SQOYkB.png

類型的部分,提供了許多有關於Kettle執行環境的參數讓我們選取,大多都是有關於日期的部分,本篇請選擇system date (variable)
http://ithelp.ithome.com.tw/upload/images/20170107/200916267lUAVefkHd.png

預覽設定的結果,成功取得日期參數
http://ithelp.ithome.com.tw/upload/images/20170107/20091626VAJlTJgGC0.png

新增與設定Filter rows

新增Filter rows並建立Hop,點兩下進行設定,在這邊我們要來設定過濾的條件,要先把新增的資料與更新的資料區分開來,這樣才能判斷在執行Insert / Update時,要更新的是CreateTime還是UpdateTime;判斷是否為新增資料與更新資料的關鍵,就是ID欄位,所以我們要把ID=null的資料過濾出來
http://ithelp.ithome.com.tw/upload/images/20170107/20091626E8ukVpuTx3.png

新增Insert/Update

新增兩個Insert/Update,一個用來做資料的新增,另一個是拿來做資料的更新,在建立Hop時要特別留意一下,記得選對true與false的流向,我們要把ID=null的資料傳到"新增資料"的Step,把ID!=null的資料傳到"更新資料"的Step
http://ithelp.ithome.com.tw/upload/images/20170107/20091626EtoGfO1Rd7.png

設定"新增資料"Step

設定方式可以參考前一篇,以下的設定差別在於Don't perform any updates有勾選,因為此Step我們只希望它執行Insert的動作,所以勾選Don't perform any updates,以及將today欄位值指定給CreateTime欄位
http://ithelp.ithome.com.tw/upload/images/20170107/20091626SF4iTn4QYv.png

設定"更新資料"Step

將today欄位值指定給UpdateTime欄位
http://ithelp.ithome.com.tw/upload/images/20170107/200916263LEi4erbQ4.png

執行Transformation

http://ithelp.ithome.com.tw/upload/images/20170107/20091626NSP48KLKve.png

檢視Shippers資料表

完成3筆資料的電話欄位更新,並且記錄了資料更新的時間,另外新增了3筆的資料,一樣也有紀錄新增的時間
http://ithelp.ithome.com.tw/upload/images/20170107/20091626WXO6Ei8icD.png


到本篇為止,想必大家應該對Transformation的設定都很熟悉了吧!接下來將會進一步的針對Job的部分來做介紹囉!


上一篇
Step - 將Excel資料寫入資料庫
下一篇
Job的基本操作
系列文
30天學會Data Integration - Kettle30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言