一、什么是kettle
kettle也稱PDI,數據整合工具
kettle的官網:https://community.hitachivantara.com/s/article/data-integration-kettle
二、kettle概念模型
1、kettle執行分為兩個層次:Job(作業)和Transformation(轉換)
Job:可以有多個Transformation同時存在,Job進行調度
Transformation中有多個步驟(組件):數據的讀取、數據處理(如多余字段的過濾、修改等)、往HDFS中加載
2、轉換包含兩個部分:Step(步驟)和Hop(跳)
步驟也叫組件,Transformation中的多個組成部分
跳也叫連接,多個步驟之間的連接(消息隊列)
三、Kettle核心組件
1、Spoon:圖形化界面工具,操作Job和Transformation都可以在這個界面中完成
2、Pan:用於終端執行Transformation,沒有圖形化界面
3、Kitchen:Job執行器(命令行方式),在終端執行Job,沒有圖形化界面
4、Carte:遠程執行Job或Transformation,Kettle通過Carte建立集群
四、Kettle的特點及應用場景
特點:
1、免費開源,基於java的免費開源軟件,對商業用戶沒有限制
2、在windows、linux、unix上運行,不需要安裝
3、支持不同數據庫
4、圖形化界面
5、定時功能
應用場景:
1、數據庫之間數據的遷移
2、數據庫導出數據到文件
3、導入大規模數據到數據庫
4、數據清洗
五、Kettle下載與安裝
下載:
安裝:解壓后雙擊Spoon.bat即可啟動kettle
六、入門案例
1、需求:讀取csv文件,轉換成Excel文件
在輸入中選擇csv,輸出中選擇excel,按住shift建立跳,保存並運行
注意:
各個轉換中每個步驟的啟動順序是不固定的
但是當有多個轉換時,Job可以控制步驟的執行順序
2、每一個Job必須由start開頭,綠色箭頭代表成功后執行下一步驟,紅色箭頭代表失敗后執行下一步驟,黃色箭頭代表無條件執行