介紹
Kettle是一款國外開源的ETL工具匕垫,純java編寫叠蝇,可以在Window、Linux年缎、Unix上運(yùn)行悔捶,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定单芜。ETL蜕该,是英文 Extract-Transform-Load 的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽戎摒(extract)堂淡、轉(zhuǎn)換(transform)馋缅、加載(load)至目的端的過程。
Kettle中有兩種腳本文件绢淀,作業(yè)(Job)和轉(zhuǎn)換(transformation)萤悴,轉(zhuǎn)換完成針對(duì)數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,作業(yè)完成整個(gè)工作流的控制皆的。
安裝
下載地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
下載之后解壓就可以使用覆履,不需要安裝。
四大核心組件
- Chef—工作(job)設(shè)計(jì)工具 (GUI方式)费薄。
- Kitchen—工作(job)執(zhí)行器 (命令行方式)硝全。
- Spoon—轉(zhuǎn)換(transform)設(shè)計(jì)工具 (GUI方式)。
- pan—轉(zhuǎn)換(transform)執(zhí)行器 (命令行方式)楞抡。
使用
在windows下只需要雙擊Spoon.bat
即可打開軟件
使用示例
該示例為在兩個(gè)不同的數(shù)據(jù)庫/表之間同步數(shù)據(jù)
-
新建一個(gè)轉(zhuǎn)換伟众,左邊有很多組件,通過拖拽的方式將組件加入到轉(zhuǎn)換中召廷。
- 首先需要一個(gè)
數(shù)據(jù)庫查詢
組件作為轉(zhuǎn)換的數(shù)據(jù)源
- 在左邊雙擊組件進(jìn)行配置凳厢,配置數(shù)據(jù)庫、表名及字段
創(chuàng)建數(shù)據(jù)庫連接的時(shí)候可能會(huì)報(bào)錯(cuò)竞慢,這是因?yàn)槿鄙龠B接數(shù)據(jù)庫的類庫先紫,如連接mysql就需要連接mysql對(duì)應(yīng)的jar包
mysql-connector-java-5.1.41-bin.jar
,到網(wǎng)上下載后放到lib目錄下即可梗顺。
- 再同樣的方式添加一個(gè)
插入/更新
組件
- 將
數(shù)據(jù)庫查詢
組件指向插入/更新
組件
- 雙擊
插入/更新
編輯泡孩,配置數(shù)據(jù)庫车摄、表及字段寺谤。
-
執(zhí)行測(cè)試,成功就說明轉(zhuǎn)換創(chuàng)建完成了
- 接下來新建作業(yè)吮播,新建完成后從左邊引入
START
和轉(zhuǎn)換
兩個(gè)組件变屁,并從START
連接到轉(zhuǎn)換
- 配置
START
,也就是配置定時(shí)任務(wù)
- 配置
轉(zhuǎn)換
意狠,選擇上面保存的轉(zhuǎn)換文件
-
執(zhí)行測(cè)試
- 完成
在linux系統(tǒng)中只需要執(zhí)行
./kitchen.sh -file=作業(yè)文件路徑
即可完成定時(shí)任務(wù)的啟動(dòng)