Kettle簡介
ETL(Extract-Transform-Load的縮寫,即數據抽取、轉換、裝載的過程),對於企業或行業應用來說,我們經常會遇到各種數據的處理,轉換,遷移,所以瞭解並掌握一種etl工具的使用,必不可少。kettle是純java編寫,支持圖形化的GUI設計界面,然後可以以工作流的形式流轉,在做一些簡單或複雜的數據抽取、質量檢測、數據清洗、數據轉換、數據過濾等方面有着比較穩定的表現,其中最主要的我們通過熟練的應用它,減少了非常多的研發工作量,提高了我們的工作效率。
Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,數據抽取高效穩定。Kettle 中文名稱叫水壺,該項目的主程序員MATT 希望把各種數據放到一個壺裏,然後以一種指定的格式流出。Kettle這個ETL工具集,它允許你管理來自不同數據庫的數據,通過提供一個圖形化的用戶環境來描述你想做什麼,而不是你想怎麼做。Kettle中有兩種腳本文件,transformation和job,transformation完成針對數據的基礎轉換,job則完成整個工作流的控制。
Kettle的下載與安裝
環境要求:
- 安裝、配置好JDK
1、下載Kettle(我的版本是pdi-ce-8.2.0.0-342.zip)
https://community.hitachivantara.com/s/article/data-integration-kettle
2、解壓
首先解壓下載下來的壓縮包如:pdi-ce-8.2.0.0-342.zip
然後打開Spoon.bat,如圖所示:
打開後請耐心等待一會兒時間
進去之後的樣子:
到這裏,恭喜你!你已經擁有了kettle!!!
入門案例1:
需求:
把數據從CSV文件(user.csv)抽取到Excel文件
數據源:
id |
name |
age |
gender |
province |
city |
region |
phone |
birthday |
hobby |
註冊時間 |
392456197008193000 |
張三 |
20 |
0 |
北京市 |
昌平區 |
回龍觀 |
18589407692 |
1970-08-19 |
美食;籃球;足球 |
2018-08-06 09:44:43 |
267456198006210000 |
李四 |
25 |
1 |
河南省 |
鄭州市 |
鄭東新區 |
18681109672 |
1980-06-21 |
音樂;閱讀;旅遊 |
2017-04-07 09:14:13 |
892456199007203000 |
王五 |
24 |
1 |
湖北省 |
武漢市 |
漢陽區 |
18798009102 |
1990-07-20 |
寫代碼;讀代碼;算法 |
2016-06-08 07:34:23 |
492456198712198000 |
趙六 |
26 |
2 |
陝西省 |
西安市 |
蓮湖區 |
18189189195 |
1987-12-19 |
購物;旅遊 |
2016-01-09 19:15:53 |
392456197008193000 |
張三 |
20 |
0 |
北京市 |
昌平區 |
回龍觀 |
18589407692 |
1970-08-19 |
美食;籃球;足球 |
2018-08-06 09:44:43 |
392456197008193000 |
張三 |
20 |
0 |
北京市 |
昌平區 |
回龍觀 |
18589407692 |
1970-08-19 |
美食;籃球;足球 |
2018-08-06 09:44:43 |
實現步驟:
1、在Kettle中新建轉換
2、拖拽一個CSV輸入組件、一個Excel輸出組件、並按住Shift拖動鼠標連接兩個組件
3、配置CSV輸入組件、Excel輸出組件
- 選擇要進行導入的CSV數據源
- 點擊 「獲取字段」,讀取CSV中的列
- 點擊 「預覽」,瀏覽CSV中的數據
- 點擊 「確認」,保存讀取CSV的步驟
4、配置Excel組件
- 指定輸出Excel文件的位置
5、保存
6、點擊三角形進行執行
7、控制檯結果打印
8、查看輸出文件
中間數據有問題的原因的數據類型錯誤,轉換有問題
到這裏,恭喜你,你成功跨進了kettle的大門!!!