kettle入門(六) 之kettle抽取變量表名錶

背景:


ods平臺的一個很簡單的數據抽取需求:


上游系統有一個月表,每個月出上個月數據並放在新建的月表裏。例如:20150401出3月份表和數據 TB_B_FT_BROADBAND_201503,

20150501出4月份表和數據 TB_B_FT_BROADBAND_201504。而ods需要每月初等他們數據出來後再抽取過來。

需求很簡單,用kettle最常見的表輸入和輸出抽取即可,但是表輸入的select 語句裏面的表名需要使用變量。


解決:


使用job kjb如下 完成此需求,如下圖,步驟如下:

1  start

2 設置表明使用的變量:時間變量(tabledate.ktr)

3 抽取(即表輸入》表輸出)(TB_B_FT_BROADBAND.ktr)




設置時間變量的轉換如下,tabledate.ktr:



時間變量設置參考:http://blog.csdn.net/xiaohai798/article/details/41867835


 TB_B_FT_BROADBAND.ktr


抽取 TB_B_FT_BROADBAND.ktr 如下:


注意點如上 :

1 from 後面的表名 ${} 裏面的即是前面設置的變量

2 Replace variables in script? 方框 打上勾。變量即起上作用。


附:


select 語句

select   
LATN_ID, 
MONTH_ID, 
PRD_INST_ID, 
SERV_NBR, 
PRD_ID, 
CRM_PRD_ID, 
PRD_INST_STAS_ID, 
PRD_INST_NAME, 
PRD_INST_DESC, 
INSTALL_DATE, 
....
from eda.TB_B_FT_BROADBAND_${FILTEDATE}

關於這個需求的整體背景及其後續解決參考:

oracle開發系列(二)存儲過程 execute immediate 'create table' 報 insufficient privileges錯誤解決及用戶權限的理解

發佈了51 篇原創文章 · 獲贊 99 · 訪問量 54萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章