ETL工具-Kettle Spoon教程


一 。Kettle Spoon簡介

     ETL(Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程),對於企業或行業應用來說,我們經常會遇到各種數據的處理,轉換,遷移,了解並掌握一種etl工具的使用,必不可少,支持圖形化的GUI設計界面,然后可以以工作流的形式流轉,在做一些簡單或復雜的數據抽取、質量檢測、數據清洗、數據轉換、數據過濾等方面有着比較穩定的表現,使用它減少了非常多的研發工作量,提高了我們的工作效率。

Kettle中有兩種腳本文件,transformation(轉換ktr結尾)和job(任務kjb結尾),transformation完成針對數據的基礎轉換,job則完成整個工作流的控制(工作流程首先由個開始節點【可以設置定時執行】 可以選擇transformation)。

官網 :http://kettle.pentaho.org/ 
下載的最新版本的kettle是:pdi-ce-7.1.0.0-12

官方入門文檔 :https://wiki.pentaho.com/display/EAI/Getting+Started

二。kettle Spoon 安裝入門

 1》 安裝kettle spoon

kettle是使用java編寫 直接是綠色版 解壓即可使用 解壓后的目錄結構

lib目錄 可以存放第三方的jar  比如 數據庫的驅動包 將來如果要連接某個數據庫 將驅動包置入這個lib目錄即可
spoon.bat是可執行文件 啟動之前確保 jdk安裝 環境變量(PATH和JAVA_HOME) 可以直接輸入java和javaw 

主對象樹就兩種類型腳本 轉換和作業

 2》kettle spoon操作和核心對象介紹

 》》轉換 

   轉換菜單點擊右鍵 新建 就創建了一個ktr結尾的轉換腳本 
  
   新建好轉換腳本后 主窗口的轉換1 打開時 就可以拖拽控件到主窗口了 如果想重新再新建一個轉換需要切換到歡迎頁簽
核心對象就是可以拖拽的控件 這里主要介紹幾個核心對象 
比如 我想轉換一個 csv文件到excel文件 

  •   輸入 (CSV文件)

     核心對象中有各種不同的輸入源 比如表(數據庫) csv ldap access等
     比如 任意位置新建一個csv文件添加兩列數據
    

 在轉換腳本上拖拽一個csv輸入的核心對象  選擇該文件 並且指定兩個列名和表格列名一致

 

  •   輸出  (EXCEL文件)

     核心對象中 將數據轉換后寫入的目的地 比如插入和更新(目的表存在更新不存在插入) 刪除(輸入存在的記錄就刪除目標表對應記錄)

    添加一個excel輸出
  

數據excel輸出 設置 選擇輸出的文件保存位置

  •   Hops節點連接 (輸入和輸出連一條線)

    數據從哪里流到哪里 可以再源對象上 shift鍵 鼠標拖動 也可以在主對象樹中 Hops(節點連接) 上雙擊 手工選定
  

最后點擊 三角運行按鈕 運行 發現保存的excel中存在文件了

 》》作業

作業可以理解為一套流程 流程從開始節點開始執行 直到最后
模擬一個簡單作業 就是讓上面那個轉換每5s中執行一次 
定義一個開始節點

拖一個轉換指定到開始那個aa的轉換  shift 拉動線條

點擊運行 發現每5s執行一次轉換程序 如果需要停止 點擊停止按鈕即可

 3》數據庫轉換案例

 比如要實現將數據庫testkettle的userinfo表的數據導入到userinfo1 同時還要導出到excel文件中
 userinfo表結構如下

userinfo1的表結構如下(注意兩張表的字段不一樣哦)

 首先雙擊轉換 新建一個轉換  轉換中配置數據庫連接 先將驅動包 丟到kettle的lib目錄下

輸入完成后 點擊測試按鈕測試一下 
拖拽一個 輸入 (表輸入)到界面上  選擇數據源的表 或者自己編寫sql語句

添加一個excel輸出 選擇excel輸出的位置 即可 拉上節點連接
添加一個 插入/更新 (選擇插入的目標表【字段對應】 更新是用目標表的哪個字段和輸入數據源的哪個字段比)
   如果userinfo1不在同一個數據庫中 數據庫連接選擇其他數據庫連接(自己新建) 即可

完成后 拖拽一根節點連接到  會有個確認框

點擊運行發現excel和userinfo1都存在數據

 

 

 

原文地址:https://blog.csdn.net/liaomin416100569/article/details/82798879


免責聲明!

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



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