Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,數據抽取高效穩定。其中,Spoon是Kettle中的一個組件,其他組件有PAN,CHEF,Encr和KITCHEN等。
Spoon通過圖形化的頁面,方便直觀的讓你完成數據轉換的操作。
1、安裝配置
最新版本是7.1,小編這里使用的是6.1。下載完畢后,解壓即可。
因為是Java編寫的,需要jdk環境。配置完環境后,運行Spoon.bat或spoon.sh,就可以看到Spoon的頁面了。
Tips:進行操作前,別忘記將數據庫驅動包放入Spoon的lib文件夾下。
這是不太方便的地方,Spoon支持的數據庫類型特別多,如果把所有的數據庫驅動都提前下載好,又有點多余了。
如果忘記這個步驟,在建立數據庫連接時,會報錯。
2、小試牛刀
首先先新建一個作業。
路徑:文件–>新建作業。
2.1 新建連接
路徑:主對象樹-作業-作業1-DB連接。
填寫相應的數據庫信息,即可。
點擊測試,連接成功。
2.2 新建轉換——由DB到DB
需求:目前有兩個數據庫,DB1和DB2。將DB1中的某一個表中的數據,導入到DB2對應的表中。
為了演示方便,此處兩個數據源的數據模型完全相同。但在實際操作中,兩個數據源的模型會復雜很多。
路徑:文件–>新建–>轉換。
1)拖動控件
在左側“核心對象”下的“輸入”菜單中,找到“表輸入”,並將其拖動到右側的空白處。同理,將“輸出”菜單中,找到“插入/更新”,拖至空白處。
2)編輯控件內容
“表輸入”控件:
選擇或新建數據庫連接,對應需求中的DB1,將要查詢的sql語句貼上。
“插入/更新”控件:
同理,選擇或新建數據源,對應需求中的DB2;選擇目標表;若有查詢條件,添加查詢字段。這里按id查詢,若此id存在則更新,若不存在即插入。添加更新字段。
3)建立關聯
選中“表輸入”,按住shift,將關聯線關聯到“插入/更新”。
4)保存執行
執行前需將文件保存,點擊啟動按鈕執行即可,如下圖:
2.3 新建轉換——由Excel到DB
需求:將Excel中的數據導入到DB中。
步驟與2.2類似,就不再詳細描述了,只說下不同的地方。需要的兩個控件為“Excel輸入”、“表輸出”。
Excel中最好以數據庫字段名充當列名,示例如下:
“Excel輸入”控件中需要選擇表格類型,並添加Excel文件,如下圖所示。
獲取字段信息
保存執行即可。
2.4 作業調度
上面的兩個例子簡單介紹了“轉換”的功能,如果需要定時或重復性的執行這些轉換,那就需要作業調度來支持了。
路徑:核心對象–>通用。
拖動控件“START”和“轉換”。
編輯“START”控件,如下圖:
編輯“轉換”,選擇文件,如下圖:
3、小結
工欲善其事必先利其器,學會使用工具,使工作更加高效。
--------------------- 本文來自 yysx 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/u010066934/article/details/77852368?utm_source=copy