kettle學習筆記(四)——kettle輸入步驟

HOLD ON!發表於2020-09-26

kettle學習筆記(四)——kettle輸入步驟

一、輸入步驟概述

  輸入步驟主要分為以下幾類:

    • 生成記錄/自定義常量
    • 獲取系統資訊
    • 表輸入
    • 文字檔案輸入
    • XML 檔案輸入
    • Json輸入
    • 其他輸入步驟

二、生成記錄和自定義常量

  

  1.生成記錄

    

    由於生成記錄每行都是一樣的資料,所以便誕生了自定義常量資料來手工模擬資料

  2.自定義常量資料

  

  常用於構造一些測試資料

三、獲取系統資訊

  獲得各類系統資訊,常見的包括:
    • 轉換開始時間。
    • 關鍵時間點資訊
    • 最多十個命令列引數
    • 主機名/ip/程式號/虛擬機器記憶體等
    • 上一個作業的完成情況引數

    

      // 固定是整個轉換開始的時間

  

  更多系統資訊細節,參考相關文件

四、表輸入

  表輸入是比較常見的輸入方式,通過執行SELECT語句,從資料庫拉取輸入資料

  可以使用${}形式使用變數,如果使用?變數,要求前面步驟傳過來的引數需要順序一致

  示例表輸入配置如下:(按住shift進行元件連線)

  

 

  

 

資料庫連線時可能會出現驅動不存在,需要複製mysql-connector到lib目錄下

(如果kettle重灌等可能會出現配置讀取衝突等問題,可以在C:/使用者/xx/.kettle下)

 推薦使用JDNI方式進行連線:https://www.cnblogs.com/mq0036/p/9238646.html

JNDI方式有時候稍顯不直觀,可以通過統一資料來源管理的方式:在主物件樹DB連線下新建連線(新建轉換後即可看到),然後右鍵->共享即可!

  

 

 

 

 

   配置變數輸入:

  

   資料型別對應關係:

    

五、文字檔案輸入

  

 

  文字檔案輸入:
    處理有列分隔符(限定符、逃逸字元)的文字檔案。
    功能選項豐富、有錯誤處理機制。
  CSV 檔案輸入:
    簡化了文字檔案輸入
    通過 NIO、並行、延遲轉換提高效能
   固定寬度:
    列固定寬度的檔案,不用解析字串,效能好。

   1.文字檔案輸入

     先看檔案這一項:

    

  雙擊檔案節點進入編輯,直接點選瀏覽進行選擇不是很推薦,

  推薦使用變數(凡是旁邊一個$形狀的,都可以根據提示使用變數,內建變數參考這裡),單擊變數,旁邊會顯示變數的值,可以進行參考

  可以在第一行選擇檔案或者目錄,選擇目錄則可以在規則表示式進一步通過正則進行控制

  然後點選增加,增加檔案到選中的檔案框中,之後點選顯示檔名進行檔案選擇結果檢視

  也可以點選下方從步驟選擇檔案

  繼續設定輸入的內容頁:

  

    // 這裡目前不知何解,設定製表符\t欄位會識別失敗。換成分號;等就正常了

  解決方案如下:

    使用sublime先安裝hexVIew外掛,使用外掛,點選toggle檢視製表符的十六進位制,然後分隔符處通過$[],例如製表符檢視是09;

  則分隔符為:$[09]

  欄位頁通過獲取欄位檢視分割結果:預覽記錄檢視記錄結果

  

  錯誤處理頁可以進行相關設定:

  

  過濾頁可以進行欄位過濾:

    例如選擇第二列(從0開始位置),含有bb的

  

  2.固定寬度

    要求每一行都是固定寬度,然後通過寬度擷取

###  XML輸入暫不贅述

###  JSON輸入暫不贅述

六、其它輸入 

  Excel 輸入
  Access 輸入
  配置檔案輸入
  SAP 輸入
  Oracle CDC 增量輸入
  訊息佇列輸入
  PDF檔案輸入
  搜尋引擎結果輸入

相關文章