kettle學習系列教程01:transformation和job操做示例

1.kettle簡介java

Kettle是一款國外開源的ETL工具,純java編寫,能夠在Windows、Linux、Unix上運行,數據抽取高效穩定。linux

Kettle 中文名稱叫水壺,該項目的主程序員MATT 但願把各類數據放到一個壺裏,而後以一種指定的格式流出。程序員

Kettle中有兩種腳本文件,transformation和job,transformation完成針對數據的基礎轉換,job則完成整個工做流的控制。sql

 

 

 

 

Kettle家族目前包括4個產品:Spoon、Pan、CHEF、Kitchen。數據庫

SPOON 容許你經過圖形界面來設計ETL轉換過程(Transformation)。windows

PAN 容許你批量運行由Spoon設計的ETL轉換 (例如使用一個時間調度器)。Pan是一個後臺執行的程序,沒有圖形界面。oracle

CHEF 容許你建立任務(Job)。 任務經過容許每一個轉換,任務,腳本等等,更有利於自動化更新數據倉庫的複雜工做。任務經過容許每一個轉換,任務,腳本等等。任務將會被檢查,看看是否正確地運行了。app

KITCHEN 容許你批量使用由Chef設計的任務 (例如使用一個時間調度器)。KITCHEN也是一個後臺運行的程序。工具

2.Kettle的下載與安裝

 kettle的最新下載地址:https://community.hitachivantara.com/docs/DOC-1009855學習

kettle 8.2版本能夠支持windows、linux和mac os操做系統

官方文檔:https://wiki.pentaho.com/display/EAI/.01+Introduction+to+Spoon

 

 

3.運行

kettle中的一個圖形用戶界面叫spoon,spoon能夠設計和運行轉換和做業。

 

在windows中執行spoon.bat,在Lunix系統中執行spoon.sh;

 

Spoon是一個圖形設計工具,用來設計和測試數據交換處理流程,也能夠經過命令行(終端)執行處理流程。

在spoon中設計做業和轉換,kettle提供兩種方式存儲:資源庫和文件;

若是你選擇資源庫,spoon第一次啓動時須要建立資源庫;選擇文件方法,做業保存文件是的擴展名是KJB,轉換文件的擴展名爲KTR,爲了簡化學習,下面教程採用後者。

 

點擊後等待一下子,開啓較慢;打開後的界面以下:

 

4.HelloWorld 示例

Kettle提供了資源庫方式的方式來整合全部的工做,可是由於資源庫移植不方便,因此咱們選擇沒有資源庫;

 

1)建立一個新的transformation,點擊 保存到本地路徑,例如保存到D:/etltest下,保存文件名爲EtltestTrans,kettle默認transformation文件保存後後綴名爲ktr;

 

2)建立一個新的job,點擊 保存到本地路徑,例如保存到D:/etltest下,保存文件名爲EtltestJob,kettle默認job文件保存後後綴名爲kjb;

 

4.1 轉換

在文件->新建裝換。

 

新建轉換後在左邊的主對象樹中創建DB鏈接用以鏈接數據庫。如圖所示:

 

 

創建數據庫鏈接的過程與其餘數據庫管理軟件鏈接數據庫相似。

測試鏈接oracle數據庫

DB鏈接—>新建

 

輸入所要鏈接數據庫的信息,點擊測試看是否正確鏈接

 

 

  注意:在數據庫連接的過程當中,可能會報某個數據庫驅動鏈接找不到的異常。那是由於你沒有對應的數據庫連接驅動,請下載對應驅動後,放入kettle的lib文件夾,重啓便可

若是本地安裝着Oracle數據庫的話,能夠從安裝路徑:E:\app\product\11.2.0\dbhome_1\jdbc\lib(個人路徑),通常選擇ojdbc6.jar

 

4.2 新建「表輸入」

左邊面板選擇:核心對象—>輸入—>表輸入

 

 

雙擊拖過來的表,能夠進行編輯;

選擇數據庫鏈接和編輯sql語句,在這一步能夠點擊預覽,查看本身是否鏈接正確。確認無誤後,點擊肯定。

 

 

4.3 經過「插入\更新」輸出到表

1.在左邊面板中選擇:核心對象à輸出->插入\更新 如圖所示:

 

2. 編輯插入更新:
  首先:表輸入鏈接插入更新。
  選中表輸入,按住shift鍵,拖向插入更新。

 

3.而後:雙擊插入更新,編輯它。編輯完成點擊肯定

 

 

此處須要注意的是,輸入表,與輸出的表,都要真實存在。

 

4.啓動測試看執行效果

 

點擊執行按鈕

 

查看執行結果:

執行前表數據

 能夠看到,輸出表ID爲1,2,3的age字段數據數據進行了更新,ID爲4,5的name,age字段數據進行了更新,id爲6的數據進行了插入

 

 

4.4 創建做業

使用做業能夠定時或週期性的執行轉換,新建一個做業。並從左邊面板拖入start 和轉換。

雙擊start能夠編輯,能夠設置執行時間等等

點開裝換,能夠設置須要執行的轉換任務,好比能夠執行上面咱們作的轉換,XXX.ktr

 

 

最後點擊運行便可。

相關文章
相關標籤/搜索