本文接上一篇,只寫到讀取日志。在平時工作當中,會遇到這種情況,而且很常見。比如:增量抽取(每隔2個小時抽取截至到上次抽取時間的記錄)
本文中會用到作業,先來熟悉下作業的概念
簡單地說,一個轉換就是一個ETL的過程,而作業則是多個轉換、作業的集合,在作業中可以對轉換或作業進行調度
實際情況中,每次抽取完畢,會寫入日志表,記錄本次抽取時間,下次抽取會根據本次抽取的成功時間,開始獲取數據進行抽取。
我們可以使用作業來完成調度任務,需要用到調度控件【start】和【成功】這兩個。
【start】可以控制執行頻率,控制什么時間執行,間隔多長時間執行都可以進行配置,還是比較方便的。
下面需要這5個控件來完成,我們逐一看下每個控件是怎么使用的。
1)【start】控件。
如下圖,該控件可以配置定時執行時間和時間間隔,是否重復等。為了實時抽取,我們把重復給勾選上,類型選中時間間隔,以分鍾計算,每60分鍾執行一次作業。
2)【轉換1】-獲取student表的更新時間,我們點擊右鍵,進入轉換的編輯頁面
點擊獲取student表輸入控件,進入如下界面,填寫相應的sql-具體的例子見附件
點擊【設置變量】,將表輸入的結果放入變量中。
3)【轉換2】-student表作業,我們點擊右鍵,進入轉換的編輯頁面,設置相應的表輸入和表輸出項,如下圖
4)【轉換3】-寫同步日志,我們點擊右鍵,進入轉換的編輯頁面,此處包含一個【sql腳本】,寫入sql后點擊保存
轉換完成。
效果每次隔1個小時抽取,寫入日志表。下次抽取日志表之后的數據。
歡迎關注公眾號,學習kettle、數據庫和開發方面的知識
獲取例子源碼,掃描下方二維碼加關注