kettle在win環境下安裝部署
1、Kettle概念
Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上執行,綠色無需安裝,資料抽取高效穩定。
Kettle 中文名稱叫水壺,該專案的主程式設計師MATT 希望把各種資料放到一個壺裡,然後以一種指定的格式流出。
Kettle這個ETL工具集,它允許你管理來自不同資料庫的資料,通過提供一個圖形化的使用者環境來描述你想做什麼,而不是你想怎麼做。
Kettle中有兩種指令碼檔案,transformation和job,transformation完成針對資料的基礎轉換,job則完成整個工作流的控制。
2、下載和部署
下載kettle壓縮包,因kettle為綠色軟體,解壓縮到任意本地路徑即可.
下載kettle包,並解壓
壓縮包:(這裡使用的是Kettle7.0版本)
3、Kettle環境配置
3.1安裝JDK(略)
3.2測試JDK安裝成功(略)
強調:kettle7.0版本,必須配套使用JDK1.7及以上版本。
3.3執行Kettle
解壓之後Windows下找到$KETTLE_HOME/spoon.bat,雙擊執行.
歡迎介面如下圖所示:
4、Kettle元件介紹與使用
4.1 Kettle使用
Kettle提供了資源庫的方式來整合所有的工作,;
1)建立一個新的transformation,點選儲存到本地路徑,例如儲存到G:/etltest下,儲存檔名為Trans,kettle預設transformation檔案儲存後後綴名為ktr;
2)建立一個新的job,點選儲存到本地路徑,例如儲存到G:/etltest下,儲存檔名為Job,kettle預設job檔案儲存後後綴名為kjb;
4.2 元件樹介紹
4.2.1 Transformation的主物件樹和核心物件分別如下圖:
Transformation中的節點介紹如下:
主要物件樹:選單列出的是一個transformation中基本的屬性,可以通過各個節點來檢視。
DB連線:顯示當前transformation中的資料庫連線,每一個transformation的資料庫連線都需要單獨配置。
Steps:一個transformation中應用到的環節列表
Hops:一個transformation中應用到的節點連線列表
核心物件選單列出的是transformation中可以呼叫的環節列表,可以通過滑鼠拖動的方式對環節進行新增:
Input:輸入環節
Output:輸出環節
Lookup:查詢環節
Transform:轉化環節
Joins:連線環節
Scripting:指令碼環節
4.2.2 Job的主物件樹和核心物件分別如下圖:
主要物件樹:選單列出的是一個Job中基本的屬性,可以通過各個節點來檢視。
DB連線:顯示當前Job中的資料庫連線,每一個Job的資料庫連線都需要單獨配置。
Job entries/作業專案:一個Job中引用的環節列表。
核心物件選單:列出的是Job中可以呼叫的環節列表,可以通過滑鼠拖動的方式對環節進行新增。
每一個環節可以通過滑鼠拖動來將環節新增到主視窗中。
並可通過shift+滑鼠拖動,實現環節之間的連線。
4.2.3 kettle的簡單使用
DB連線
我們可以看到轉換的主物件樹和核心物件區域,然後我們新增一個DB連線。
選擇“主物件樹”,雙擊“轉換”標籤下的“DB連線”會彈出一個配置視窗。填入連線名稱,選擇連線型別,配置資料庫設定,然後測試下配置是否正確。
由於kettle沒有將所有資料庫的Driver檔案整合,所以如果想連線指定的資料庫,需要自己下載JDBC驅動,放入指定的lib目錄下。新增完JDBC驅動後,必須重啟kettle才能正確載入驅動。
點選“核心物件”標籤頁中的“輸入”,選擇“表輸入”拖到“轉換”區域。
雙擊“表輸入”圖示彈出表輸入對話方塊,填入步驟名稱,選擇資料庫連線,點選“獲取SQL查詢語句”,或者直接寫入SQL語句,填寫附件資訊,點選“預覽”按鈕檢視執行結果,沒有錯誤,點選“確認”關閉對話方塊。
點選“核心物件”—“輸出”,選擇“Excel輸出”拖入到轉換區,雙擊Excel輸出圖示,彈出對話方塊,選擇檔名和其它附加引數,點選確認。
點選輸入表的圖示,同時按下shift鍵,再點選輸出檔案,將兩者連線起來。然後雙擊Excel輸出進行配置。
最後一步就是執行kettle指令碼,點選工具欄的播放箭頭即可。
點選“啟動”開始轉換,在轉換過程中會出現轉換的資訊,如下圖所示。
完成轉換後,我們可以在Excel輸出目錄中檢視轉換結果。
注:時間欄位轉換到Excel為空,修改SELECT語句中使用TO_CHAR轉換成字串,例如:to_char(start_time,’yyyy-mm-dd HH24:MM:SS’) as start_time.
注:Excel(2007之前版本)中的記錄不能超過65535條,否則會自動關閉檔案,導致轉換失敗。
至此,一個簡單的資料遷移指令碼,從Mysql資料庫匯出資料到EXCEL檔案中就大功告成了。