ETL工具-KETTLE教程 實例實戰4----轉換(值映射、列轉行,增加常量、增加序列等)


附:Kettle實戰視頻教程,需要的朋友可以看看學習下哈~~

 

接着上一講,講完了常用的輸入、輸出控件后,這一節我們來講下常用的轉換控件,如下圖:

 

 

 

3、轉換

3.1 值映射:將一個數據流的內容,轉換成另外的數據流,並輸出。作用如同sql語句中的decode函數。

 

 

 

   此處用到三個控件,表輸入、表輸出(可以參考前面的內容)和值映射。三個控件用hop線進行連接。

   雙擊值映射,如上圖所示配置好相應的源值和目標值,通過連線從A表連接到B表。運行結果如下:

 

 

 3.2 列轉行:將二維數據流的其中1列數據,轉換為行(也就是列轉換為行的表頭),在根據關鍵字段進行展示。

   此處用到兩個控件,表輸入(可以參考前面的內容)和列轉行。兩個控件用hop線進行連接。

   雙擊列轉行,如上圖所示配置好關鍵字段、構成分組的字段和目標字段。運行結果如上圖步驟4。

 

 

 

 3.3 剪切字符串:如同各種數據庫的substr函數,用處不大可以忽略。

 

 

  3.4去除重復記錄:根據某個字段進行剔重,類似於sql語句中的distinct

 

 

 

  此處用到兩個控件,表輸入(可以參考前面的內容)和去除重復記錄。兩個控件用hop線進行連接。

   表輸入需要先按照比較字段進行排序,如上圖所示配置好計數器字段和用來比較的字段。運行結果如上圖步驟3

 

 

  3.5 增加常量、增加序列:增加常量和增加數據庫序列

 

 

 

 如上圖所示,配置好常量值和序列值,即可生成

 

  3.6 字段選擇:將上一步驟數據流中的數據進行格式轉換(主要用於時間的轉換)

 

 

 

  此處用到兩個控件,表輸入(可以參考前面的內容)和字段選擇。兩個控件用hop線進行連接。

   表輸入中存在包含時間的字段(可以看到不是按照標注的日期時間格式輸出),如下左圖,選擇cjsj時間進行轉換候。運行結果如下右圖:

 

 

 

  3.7 字符串操作:如同各種數據庫的各種字符串處理函數,用處不大可以忽略

  3.8 字符串替換:如同各種數據庫的replace函數,用處不大可以忽略

  3.9 拆分字段:如同各種數據庫的split函數,將字段按照分隔符拆分成多個字段

 

 

   此處用到兩個控件,表輸入(可以參考前面的內容)和拆分字段。兩個控件用hop線進行連接。

   拆分字段選擇需要拆分的字段、分隔符、和拆分后的字段,點擊運行。運行結果如下圖:

 

 

接着上一講,講完了常用的轉換控件后,接下來我們來講下常用的應用控件,如下圖:

 

 

4、轉換

4.1 寫日志 可以通過寫日志,將上一個數據流中日志信息打印出來,可以設置具體的日志級別

 

 如上圖所示,配置好日志頭信息,設置好日志級別,打印相應的日志

 

往期文章:

 

注意:因某些限制,最新源代碼和后續通用配置實現數據抽取 已放置在筆者公眾號上,請關注微信公眾號: 【JAVA大師】, 回復關鍵字:【KETTLE】,獲取kettle安裝程序和運行實例(表結構和kjb、ktr文件)

同時筆者原創了一套視頻教程:現免費發放100套,先到先得。獲得方法:掃描下方二維碼,關注獲得

img


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM