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


1.kettle簡介

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

Kettle 中文名稱叫水壺,該項目的主程序員MATT 希望把各種數據放到一個壺里,然后以一種指定的格式流出。

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

 

 

 

 

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

SPOON 允許你通過圖形界面來設計ETL轉換過程(Transformation)。

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

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

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

 

 

最后點擊運行即可。

 


免責聲明!

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



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