【數據分析】ETL工具:Kettle簡介


Kettle簡介

ETL(Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程),對於企業或行業應用來說,我們經常會遇到各種數據的處理,轉換,遷移,所以了解並掌握一種etl工具的使用,必不可少。

Kettle是一款國外開源的ETL工具(新名稱是PDI ,PDI的全稱是Pentaho Data Integeration),純java編寫,可以在Window、Linux、Unix上運行。Kettle支持圖形化的GUI設計界面,然后可以以工作流的形式流轉,在做一些簡單或復雜的數據抽取、質量檢測、數據清洗、數據轉換、數據過濾等方面有着比較穩定的表現,其中最主要的我們通過熟練的應用它,減少了非常多的研發工作量,提高了我們的工作效率。

Kettle 中文名稱叫水壺,該項目的主程序員MATT 希望把各種數據放到一個壺里,然后以一種指定的格式流出。Kettle允許:管理來自不同數據庫的數據,通過提供一個圖形化的用戶環境來描述你想做什么,而不是你想怎么做。Kettle中有兩種腳本文件,transformation和job:transformation完成針對數據的基礎轉換,job則完成整個工作流的控制。

1、Kettle的下載與安裝:

下載地址: https://sourceforge.net/projects/pentaho/files/latest/download , 下載的文件名、形如:pdi-ce-xxxx(版本號).zip

 

kettle無需安裝,直接解壓zip文件到指定的文件夾即可。 在Lunix操作系統上,需要執行以下腳本:  cd Kettle  ,chmod +x *.sh 

kettle的運行需要jre1.5及以上版本(可通過oracle官網免費下載)。

 

kettle中的一個圖形用戶界面叫spoon,spoon可以設計和運行轉換和作業。在windows中執行spoon.bat,在Lunix系統中執行spoon.sh;Spoon是一個圖形設計工具,用來設計和測試數據交換處理流程,也可以通過命令行(終端)執行處理流程。在spoon中設計作業和轉換,kettle提供兩種方式存儲:資源庫和文件。如果你選擇資源庫,spoon第一次啟動時需要創建資源庫;選擇文件方法,作業保存文件是的擴展名是KJB,轉換文件的擴展名為KTR

 

2、Kettle實戰:

Kettle提供了資源庫方式的方式來整合所有的工作,但是因為資源庫移植不方便,所以我們選擇沒有資源庫;

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

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

 

 操作:點擊菜單文件->新建轉換。

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

 

 

 

 

 

 

3、建立數據庫連接該過程與其他數據庫管理軟件連接數據庫類似。

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

 

 

 

 

 

 

4、簡單的數據表插入\更新

  (1)新建:表輸入:

  在左邊的面板中選擇“核心對象”,在核心對象里面選擇“輸入->表輸入”,用鼠標拖動到右邊面板。如圖所示:

 

 

 

 

  雙擊拖過來的表,可以編輯表輸入。

  選擇數據庫連接和編輯sql語句,在這一步可以點擊預覽,查看自己是否連接正確。

 

 

 

 

  (2)通過“插入\更新”輸出到表。

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

 

 

 

 

 

  編輯插入更新:

    首先:表輸入連接插入更新。

      選中表輸入,按住shift鍵,拖向插入更新。

 

 

 

 

然后:雙擊插入更新,編輯它。

 

 

到這里基本上,這個轉換就要做完了.

 

 

 

 

可以點擊運行查看效果,看是否有誤,這個要先保存了才能運行,可以隨意保存到任何一個地方。

 

5、使用作業控制上面裝換執行。

  使用作業可以定時或周期性的執行轉換,新建一個作業。並從左邊面板拖入start 和轉換。

 

 

 

雙擊start可以編輯,可以設置執行時間等等

點開裝換,可以設置需要執行的轉換任務,比如可以執行上面我們做的轉換,比如:h1.ktr

 

 

 

最后點擊運行即可。

 

 

 

 

  到這里,一個簡單的通過作業調度的kettle就算做完了。

 ----------------------------------------------------------------------------------------------------

[常見問題]

【問題1】連接MySQL出錯“Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.”

【解決對策】:這個軟件需要Java的編輯環境,缺少一個Java包--mysql-connector-java-5.1.40-bin,加在軟件目錄的\data-integration\lib下就可以了。

 

【問題2】Unable to close prepared statement after determining SQL layout.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1

【解決對策】去mysql官網下載最新的jar驅動包 然后更新就行: https://dev.mysql.com/downloads/connector/j/5.1.html

選擇平台,下載(mysql-connector-java-5.1.33.tar.gz)

最后更新到dbvis jar包到相應的目錄下就行,刪除原來的,重啟

 


免責聲明!

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



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