kettle設置數據庫連接變量、js腳本設置變量、數據流合併、設置分支等

kettle設置數據庫連接變量、js腳本設置變量、數據流合併、設置分支等

關於kettle工具的介紹就不贅述了,某百科可以自行查閱。回顧自己當初剛接觸這個工具的時候,網上資料雖然衆多,但多數都是博客爲主,很多博客都是寫個【start –》查個表數據】就結束了,浪費了大量時間查找,最終不得要領。後來無奈,只能慢慢查閱“豐富”的官方文檔。這篇博客沒有深入的原理探討,只是分享一些自己使用過程中用到的組件功能,希望能幫助一些入門的同學,快速定位解決自己的問題,不足之處,歡迎大家雅正!


需求說明

  • 涉及兩個數據庫連接A和B,其中A庫是用戶數據,B庫中是業務數據。需要查詢A中所有用戶在B中是否有相關業務數據,如果有,則不作處理;否則,新增。

表名稱說明

  • 涉及的數據表:uc_user用戶主表、uc_user_organization非機構用戶表、cloud_user_desktop_folder應用文件夾、cloud_user_desktop_app應用表、cloud_app_authorization應用權限表

流程圖

  • 總流程圖
    這裏寫圖片描述
  • 組件位置

這裏寫圖片描述

  • 設置數據庫參數

這裏寫圖片描述
這裏寫圖片描述

  • 子流程(處理非機構用戶)
    這裏寫圖片描述

子流程說明【處理非機構用戶】

  • 創建臨時表
    創建臨時表使用的是“執行sql腳本”組件,這裏寫圖片描述
    直接在編輯區寫sql語句就好了。

  • 表輸入合併數據,篩選字段,使用js腳本處理數據流,插入/更新

這裏寫圖片描述
從左往右,依次說明:兩個表輸入組件,從不同的庫查詢數據(直接寫sql);通過合併排序組件將兩個表輸入的數據合併(相當於left join);然後通過switch組件篩選,不同的數據走不同的流程,通過js給數據流中的字段賦值;最後通過插入更新,將處理後的數據插入目標表中。
這裏寫圖片描述

  • 對於從A庫查詢出數據,作爲參數,到B庫中查詢的情況可以利用“數據庫連接”組件這裏寫圖片描述

大致用到的組件就這麼多,每個就不單獨的一一展開了,spoon中都有相關的說明,一般只要找到組件,知道功能,都比較容易上手使用。
最後,博客不常寫,行文組織比較亂,還望圍觀大佬多包涵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章