標籤:etl kettle 設定變數
【背景】
利用kettle工具,完成某表的增量工作。
【解決】
利用模組完成即可,如下簡圖:
【實驗】
先手工準備一個實驗環境:
準備基本完成如下效果:
select t.*, t.rowid from EMP_ETL t
select max(hiredate) maxsj from EMP_ETL
我們驗證將2015年10月22日的資料插入目標表中。
建立目標表:
create table EMP_ETL_1 as select * from EMP_ETL t where 1=2;
此時EMP_ETL_1資料為空白,我們只插入hiredate 為2015/10/22的資料。
可以看到有兩條資料符合這個條件,如所示:
編寫時間戳記ktr轉換過程,把原表中最大的hiredate作為變數,如:
下面在“表輸入”環節中,使用傳遞過來的${MAXSJ}作為條件,完成向目標表插入資料,簡要流程如下:
執行轉換,完成資料插入,簡圖如下:
補充:這隻是一個簡單的舉例,對於使用時間戳的方式來完成增量時,這個實驗中的方法如果每次都是全表max,當資料量特別大時,效率將大打折扣。而此時,我們就需要添加一個時間戳記錄表,另添加一個時間戳記欄位,每次抽取結束後,將每次抽取後最晚一條記錄的時間戳記時間記錄到時間戳記表中,然後每次查詢起點時間時只需要從時間戳記表中提取即可。
小知識,簡而記之。
藍的成長記系列_20151022
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處(http://blog.csdn.net/huangyanlong)。
藍的成長記——追逐DBA(1):奔波於路上,挺進山東
藍的成長記——追逐DBA(2):安裝!安裝!久違的記憶,引起我對DBA的重新認知
藍的成長記——追逐DBA(3):古董上操作,資料匯入匯出成了問題
藍的成長記——追逐DBA(4):追憶少年情愁,再探oracle安裝
藍的成長記——追逐DBA(5):不談技術談業務,惱人的應用系統
藍的成長記——追逐DBA(6):做事與做人:小技術,大為人
藍的成長記——追逐DBA(7):基礎命令,地基之石
藍的成長記——追逐DBA(8):重拾SP報告,回憶oracle的STATSPACK實驗
藍的成長記——追逐DBA(9):國慶漸去,追逐DBA,新規劃,新啟程
藍的成長記——追逐DBA(10):飛刀防身,熟絡而非專長:擺弄中介軟體Websphere
藍的成長記——追逐DBA(11):回家後的安逸,暈暈乎乎醒了過來
藍的成長記——追逐DBA(12):七天七收穫的SQL
藍的成長記——追逐DBA(13):協調硬體廠商,六個故事:所見所感的“伺服器、儲存、交換器……”
藍的成長記——追逐DBA(14):難忘的“雲”端,起步的hadoop部署
藍的成長記——追逐DBA(15):以為FTP很“簡單”,誰成想一波三折
藍的成長記——追逐DBA(16):DBA也喝酒,被捭闔了
藍的成長記——追逐DBA(17):是分享,還是消費,在後IOE時代學會成長
藍的成長記——追逐DBA(18):小機上WAS叢集故障,由一次更換IP引起
藍的成長記——追逐DBA(19):路上的插曲:觸碰“架構”與“軟體系統”
藍的成長記——追逐DBA(20):何故緣起,建庫護航
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
資料清洗小記(11):Kettle_利用設定變數實現資料增量(小例)