ETL工具Kettle使用以及與Java整合實現數據清洗

kettle有兩種腳本方式:轉換和工作,工作中可以添加轉換.以下以轉換爲例.

1.新建一個轉換,

2.在工作中經常用到的是表輸入和表輸出(從一個數據庫中提煉數據,插入到另外一個數據庫中進行保存)

點擊核心對象 --> 輸入 --> 表輸入

這個節點是用來從數據庫中查詢數據

點擊“表輸入”-->新建 首先創建一個數據庫連接,要讓kettle知道從哪裏查詢數據

kettle支持多種數據庫連接,因爲工作中用到的是mysql,所以其餘的可以自行百度瞭解

 

因爲在使用過程中,可能數據庫編碼方式不一致,所以需要制定編碼,在創建數據連接的時候,點擊高級選項卡,如圖所示(set names utf8;)

 

 在點擊選項選項卡,如圖所示:characterEncoding:utf8

 

 

 創建完成後,點擊保存,下面就是開始寫sql,kettle支持sql中油自定義參數的形式,參數要使用${}來進行創建。注意一點,要勾選下面的,替換sql語句裏的變量。

 

 創建好後點擊確定。

 

在創建一個節點,用來接收數據,點擊輸出中的表輸出,創建數據庫連接,和上面創建步驟一樣

 

 點擊輸入字段映射,可自動生成對應字段。

3.創建完成後,使用shift和鼠標左鍵將兩個節點連接在一起

 

4.啓動:

  如果在查詢時自定義了參數,那麼在啓動時需要個參數賦值:

  

 

5.還需注意一點,如果沒有創建資源庫,那麼創建的轉換/作業是要保存成腳本存放到本地,但是,如果已創建了資源庫,那麼腳本會錯放到數據庫中,不會生成文件!

6.資源庫的創建

  

 

第一次需要新建資源庫,如果已經創建,選擇對應的資源庫然後輸入賬號密碼即可(賬號密碼默認admin)

在創建資源庫時,點擊+號,然後會出現圖中的樣式,我們選擇第二個,會將數據生成到數據庫中進行保存。

我們需要指定資源庫存放的數據庫連接是哪個,創建方式和上面我們創建節點的數據庫連接一樣,創建完後,選擇數據庫連接,名稱和描述自己取名即可(儘量不要重複,與Java整合時需要這兩個參數)

創建完成後,我們輸入賬號密碼即可登錄到資源庫中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章