本設計基於以下需求提出 1. 快速接入數據源表(貼源/落地) 2. 無須給單獨表開發轉換/作業 3. 動態生成數據源連接, 表欄位等信息(預先保存在數據倉庫中) 本設計所需條件 1. 數據源為關係型資料庫 2. 不同數據源需要寫一小段Java Scripts以保證數據源連接可用 總體作業結構 jb_ ...
本設計基於以下需求提出
1. 快速接入數據源表(貼源/落地)
2. 無須給單獨表開發轉換/作業
3. 動態生成數據源連接, 表欄位等信息(預先保存在數據倉庫中)
本設計所需條件
1. 數據源為關係型資料庫
2. 不同數據源需要寫一小段Java Scripts以保證數據源連接可用
總體作業結構
jb_STG_SetVariable: 設置及生成後續轉換所需信息
tf_STG_LoadData : 實際貼源轉換
jb_Update_Flag : 更新運行後狀態
jb_STG_SetVariable:
tf_STG_Inc_SetVariable : 獲取數據表運行增量時間
tf_STG_selectSource_SetVariable: 獲取並設置數據表名,欄位名,數據源連接,用戶,密碼
數據表的運行增量時間在數據倉庫中進行管理, 每次運行該作業前將每天更新對應表的增量日期/時間.
數據表名,欄位名,數據源連接,用戶,密碼 也是通過數據倉庫中一系列的參數表設置完成, 此過程當需要接入一整個資料庫(20張表以上)時可通過腳本自動完成, 不在本次Kettle作業設計討論範圍.
下麵再來看看 tf_STG_Inc_SetVariable 和 tf_STG_selectSource_SetVariable 的內容:
tf_STG_Inc_SetVariable:
tf_STG_selectSource_SetVariable:
最後jb_Update_Flag作業所做動作為更新日誌表記錄, 此處與倉庫設計關係較大, 不同倉庫有各自具體情況, 故不作詳細說明.
需要本設計的範例xml供學習, 可聯繫郵箱[email protected]