ETL(Extract-Transform-Load的縮寫,即資料幫浦、轉換、裝載的過程),對於金融IT來說,經常會遇到大資料量的處理,轉換,遷移,所以瞭解並掌握一種etl工具的使用,必不可少。
Kettle (http://kettle.pentaho.org)翻譯成中文名稱應該叫水壺,是一個ETL工具集,它允許你管理來自不同資料庫的資料。Kettle通過提供一個圖形化的使用者環境來描述你想做什麼,而不是你想怎麼做。Kettle家族目前包括4個產品:Spoon、Pan、CHEF、Kitchen。
SPOON 允許你通過圖形介面來設計ETTL轉換過程(Transformation).PAN 允許你批量運行由Spoon設計的ETL轉換 (例如使用一個時間調度器)。CHEF 允許你建立任務(Job)。KITCHEN 允許你大量使用由Chef設計的任務 。
一、Kettle的下載和安裝:
可以從http://kettle.pentaho.org下載Kettle,同時,Kettle是綠色軟體,下載後,解壓到任意目錄即可。由於Kettle是採用java編寫,因此需要在本地有JVM的運行環境,Kettle採用的版本是1.4及以上。在這裡我遇到一個問題就是本地機器上面我安裝的是Oracle9i,預設採用的JDK是1.3,因此,kettle不能運行。只有安裝最新的jdk,然後放在path的最前面,但是這樣子的話,oracle和kettle才可以同時使用。
二、Spoon啟動,資產庫配置
點擊目錄下面的kettle或者spoon.bat即可啟動kettle,在啟動kettle的時候,會彈出對話方塊,讓使用者選擇建立一個資產庫。資產庫是用來儲存轉換任務的,使用者通過圖形介面建立的的轉換任務可以儲存在資產庫中。資產庫可以是各種常見的資料庫,使用者通過使用者名稱/密碼來訪問資產庫中的資源,預設的使用者名稱/密碼是admin/admin.資產庫並不是必須的,如果沒有資產庫,使用者還可以把轉換任務儲存在 xml 檔案中。下面就是資產庫的建立:
- 點擊Test可以測試連接是否成功建立。
- 點擊Explore可以查看串連表的相關資訊,如下:
中,在左側列示的是testdb資料庫中存在的表。右側顯示的是能對錶進行的操作。例如能夠查看某張表的前100行資料、自訂查看某表的前**行資料、能夠快速查看該表中所有的記錄數、能夠查看某表的具體結構,
並且在右側也能夠產生相應的資料定義語言 (Data Definition Language)(DDL),和資料查詢語言,同時能夠快速的清空某表的所有資料。
- 點擊Feature List可以查看對於建立的串連的所有的屬性。
最後點擊確定,回來登入頁面,輸入預設的使用者名稱和密碼admin/admin.這樣在我們指定的庫裡面將建立一個資產庫,用以記錄我們的操作步驟和相關的日誌,轉換,JOB等資訊。