30天學會Data Integration - Kettle系列 第 22 篇 - Step - 取得系統資訊並寫入資料庫
本篇要介紹的是有關日期資訊取得的Step:[Input]Get System Info,另外要介紹Step:[Flow]Filter rows來輔助資料分類的動作。 [Input]Get System Info 介紹 取得系統資訊,例如日期或參數 [Flow]Filter rows 介紹 使用簡單的條件式來過濾資料,可使用上一個Step中的欄位來進行條件式的設定,可以選擇以欄位值或是以指定的輸入值做比對。 本篇目標 延續上一篇的例子,將更新項目的更新時間欄位寫入今日的日期,新增項目的新增欄位寫入今日的日期,由於Northwind資料庫的Shippers沒有新增與更新日期的欄位,所以需要自行增加CreateTime與UpdateTime欄位喔! 然後補上日期資訊 新增與設定[Input]Get System Info 新增Get System Info並建立Hop,兩點下進行設定,請輸入名稱與類型 類型的部分,提供了許多有關於Kettle執行環境的參數讓我們選取,大多都是有關於日期的部分,本篇請選擇system date (variable) 預覽設定的結果,成功取得日期參數 新增與設定Filter rows 新增Filter rows並建立Hop,點兩下進行設定,在這邊我們要來設定過濾的條件,要先把新增的資料與更新的資料區分開來,這樣才能判斷在執行Insert / Update時,要更新的是CreateTime還是UpdateTime;判斷是否為新增資料與更新資料的關鍵,就是ID欄位,所以我們要把ID=null的資料過濾出來 新增Insert/Update 新增兩個Insert/Update,一個用來做資料的新增,另一個是拿來做資料的更新,在建立Hop時要特別留意一下,記得選對true與false的流向,我們要把ID=null的資料傳到"新增資料"的Step,把ID!=null的資料傳到"更新資料"的Step 設定"新增資料"Step 設定方式可以參考前一篇,以下的設定差別在於Don't perform any updates有勾選,因為此Step我們只希望它執行Insert的動作,所以勾選Don't perform any updates,以及將today欄位值指定給CreateTim...