介紹
ETL是EXTRACT(抽取)、TRANSFORM(轉換)、LOAD(加載)的簡稱,實現(xiàn)數(shù)據(jù)從多個異構數(shù)據(jù)源加載到數(shù)據(jù)庫或其他目標地址,是數(shù)據(jù)倉庫建設和維護中的重要一環(huán),也是工作量較大的一塊。Kettle是ETL中其中一個開源工具,基于純Java開發(fā)。
kettle有兩種腳本transformation(轉換)和Job(作業(yè))
Kettle有三個主要組件:Spoon、Kitchen、Pan
Spoon:是一個圖形化的界面,可以讓我們用圖形化的方式開發(fā)轉換和作業(yè)。windows選擇Spoon.bat;Linux選擇Spoon.sh
Kitchen:利用Kitchen可以使用命令行調用Job
Pan:利用Pan可以用命令行的形式調用Trans
Carte:Carte是一個輕量級的Web容器,用于建立專用、遠程的ETL Server。
聲明
1.Kettle最早叫做Kettle,后來該名為PDI,不過大多數(shù)人還是習慣于叫Kettle
2.我們這里使用的版本是最新的Kettle 8.1的版本
3.說明一下Kettle的幫助文檔可以在Spoon中找到,如果有任何問題可以去幫組文檔中查找
運行PDI Client(Spoon)
PDI Client啟動分為兩種:一種是安裝包方式安裝,然后在菜單欄中啟動,這種方式并不是我們想要的。另外一種是通過解壓zip包,然后通過啟動腳本spoon.bat或者spoon.sh啟動Spoon。
如果正確啟動,則出現(xiàn)的主界面應該是下面這樣的。
界面整體功能的介紹在Spoon的幫助文檔中有詳細的介紹,下圖中的章節(jié)。
Kettle的使用流程
1.創(chuàng)建一個簡單的轉換
首先這個轉換的事例是把testdb數(shù)據(jù)庫中的t_user表的數(shù)據(jù)拷貝到test表數(shù)據(jù)庫中的user表。
1)創(chuàng)建一個轉換
2)連接到testdb和test數(shù)據(jù)庫
連接好以后應該會在DB連接中出現(xiàn)兩個數(shù)據(jù)庫連接。
3)在核心對象中拖入一個表輸入
并對表輸入進行屬性設置。
4)然后在核心對象中拖入插入/更新組件
5)按住shift從表輸入到插入/更新
6)然后在對插入/更新進行配置,在用來查詢的關鍵字中需要設置連接的字段。
7)最后保存,并運行這個轉換,看看是否正確。
2.創(chuàng)建一個簡單的作業(yè)
這個作業(yè)就是將之前的轉換以定時執(zhí)行的方式運行。
1)拖入開始組件,這里設置的間隔時間的3分鐘
2)拖入轉換組件,將剛剛保存的轉換文件配置到Transformation屬性中。
3)點擊運行按鈕,運行配置的作業(yè)。
3.連接資源庫
在實際的團隊開發(fā)過程中,不可能將自己的轉換、作業(yè)和調度等配置存放在自己的電腦中。而Kettle的資源庫正可以將我們的轉換、作業(yè)等存儲下來,構成一種協(xié)作平臺。
轉換任務在資源庫中是以文件夾形式分組管理的,用戶可以自定義文件夾名稱。Kettle支持連接的資源庫類型有三種:
1.Pentaho Repository:使用的是Kettle公司自己的服務器,一般自己公司不會使用
2.Database Repository:保存在數(shù)據(jù)庫的資源庫,通過用戶名密碼訪問
3.File Repository:保存的服務器硬盤的資源庫,不用密碼就可以使用
1)連接資源庫
點擊右側的Connect按鈕,打開資源連接的Dialog,這里我們需要選擇Other Repository
然后在選擇Database Repository,如下所示。
2)配置數(shù)據(jù)庫連接,點擊Database Connection進行配置
3)完成配置后,點擊finish即可。配置完成后,數(shù)據(jù)庫中會多出一些表,選擇Connect Now。
4)選擇連接后,我們需要輸入用戶名密碼,即可連接到指定的資源庫。注意,這里的用戶名密碼默認是admin/admin(管理員)或者guest/guest(訪問者)。然后在title上會顯示連接的資源庫。
注意:上面的連接配置不要使用中文,包括資源名等等。不然會出現(xiàn)資源庫配置為灰色,而且沒有Connect按鈕。解決方案見Kettle常見錯誤。
4.使用資源庫進行協(xié)作開發(fā)
1.轉換或作業(yè)的導入導出
1)導入
當我們有轉換或作業(yè)在外部需要導入到資源庫時,我們可以選擇文件—從XML文件導入,選擇我們需要導入的文件。
然后將文件保存,會彈出Save界面,選擇保存的目錄和文件名即可。
2)導出
當我們需要將資源庫中的作業(yè)和轉換保存到本地使用時,我們可以選擇文件—導出,進行導出。
2.探索資源庫
選擇工具—資源庫—探索資源庫,可以連接到當前連接的資源庫。
下面就連接上的資源庫。瀏覽Tab主要是資源庫中存在的轉換和作業(yè)
在瀏覽的目錄或者文件上可以進行以下的各種操作。在這里我實在是沒有找不到access controll和歷史版本查看的功能。
3.資源連接庫管理
在右側的顯示個人信息地方我們可以管理資源庫。
|