kettle之linux使用kettle

Kettle能夠在Window、Linux、Unix上運行,數據抽取高效穩定,使用以前須要準備環境。
準備java環境,這裏就不贅述了,建議jdk7以上版本。java

上傳kettle壓縮包,並解壓,我解壓的路徑是/usr/soft/kettle數據庫

如下是重點:
確保kettle腳本可執行權限
使用命令查看文件權限
ls -l /data-integration
如圖:

若是沒有執行權限,執行如下命令:
chmod +x /usr/soft/kettle/dist/*.sh工具

使用命令測試是否部署成功
./dist/kitchen.sh
部署成功後的截圖:
測試

經常使用命令

ktr的運行:運行transformation文件是經過pan.sh來運行的。ui

打開cmd命令行窗口,轉到pan.sh所在的目錄,如/home/zzq/data-integration,而後執行文件的命令爲spa

./pan.sh -file=/home/zzq/work/test.ktr
1
若是要輸出日誌則插件

./pan.sh -file=/home/zzq/work/test.ktr >> /home/zzq/log/kettle.log
1
後臺模式運行使用命令行

./pan.sh -file=/home/zzq/work/genotypeHiveLinux.ktr >> /home/zzq/log/kettle.log &
1
kjb的運行:運行job文件是經過kitchen.sh來運行的。調試

打開cmd命令行窗口,轉到kitchen.sh所在的目錄,如/home/zzq/data-integration,而後執行文件的命令爲日誌

./kitchen.sh -file=/home/zzq/work/test.kjb
1
若是要輸出日誌則

./kitchen.sh -file=/home/zzq/work/test.kjb >> /home/zzq/log/kettle.log
1
配置參數:

Pan——轉換執行器
用來執行轉換。參數與Kitchen相似,以下。

1- -version顯示版本信息

2- -file=filename運行xml文件

3- -param:key=value指定命名參數

4- -log=logging filename 設置日誌文件

5- -level=logging level 設置日誌級別

Error:只顯示錯誤

Nothing:不顯示任何輸出

Minimal:只使用最少的記錄

Basic:這是默認的基本日誌記錄級別

Detailed:詳細的日誌輸出

Debug:以調試爲目的,很是詳細的輸出

Rowlevel:使用行級記錄,會產生大量的數據

返回狀態,Pan會基於執行情況返回一個錯誤碼:

0:轉換執行成功
1:處理過程當中發生錯誤
2:在裝載或者運行時發生意外的錯誤
3:不能初始化轉換
7:轉換不能從資源庫或xml中裝載
8:裝載步驟或插件錯誤(一般是裝載其中一個插件錯誤)
9:命令行用法錯誤

Kitchen——做業執行器
用來執行做業。這是一個命令行執行工具,參數說明以下。

1) -rep:Repositoryname任務包所在存儲名

2) -user:Repositoryusername執行人

3) -pass:Repositorypassword執行人密碼

4) -job:Thenameofthejobtolaunch任務包名稱

5) -dir:Thedirectory(don’tforgettheleading/or)

6) -file:Thefilename(JobXML)tolaunch

7) -level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日誌級別

8) -log:Theloggingfiletowriteto指定日誌文件

9) -listdir:Listthedirectoriesintherepository列出指定存儲中的目錄結構。

10) -listjobs:Listthejobsinthespecifieddirectory列出指定目錄下的全部任務

11) -listrep:Listthedefinedrepositories列出全部的存儲

12) -norep:Don’tlogintotherepository不寫日誌

示例: 1. Windows 中多個參數以 / 分隔,key 和value之間以:分隔

做業存儲在文件

Kitchen.bat /level:Basic>D:\etl.log /file:F:\Kettledemo\email.kjb
1
做業存儲在數據庫

Kitchen.bat /rep kettle /user admin /pass admin /job F_DEP_COMP
1
(Rep的值爲數據庫資源庫ID)

Linux 中參數以 –分隔

做業存儲在文件

./kitchen.sh-file=/home/job/huimin.kjb >> /home/ log/kettle.log
1
做業存儲在數據庫

./kitchen.sh -rep=kettle1 -user=admin -pass=admin -level=Basic -job=job

相關文章
相關標籤/搜索