天天看點

job kettle 執行多次_KETTLE-指令行執行JOB

1.Kitchen——作業執行器(字尾名:kjb)

是一個作業執行引擎,用來執行作業。這是一個指令行執行工具,參數說明如下。

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

-user:Repositoryusername執行人

-pass:Repositorypassword執行人密碼

-job:Thenameofthejobtolaunch任務包名稱

-dir:Thedirectory(don'tforgettheleading/or\)

-file:Thefilename(JobXML)tolaunch

-level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志級别

-log:Theloggingfiletowriteto指定日志檔案

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

-listjobs:Listthejobsinthespecifieddirectory列出指定目錄下的所有任務

-listrep:Listthedefinedrepositories列出所有的存儲

-norepon't logintotherepository不寫日志

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

ü  作業存儲在檔案

Kitchen.bat /level:Basic>D:\etl.log /file:F:\Kettledemo\email.kjb

ü 作業存儲在資料庫

Kitchen.bat /rep kettle /user admin /pass admin /job F_DEP_COMP

(Rep的值為資料庫資源庫ID)

2.   Linux 中參數以 –分隔

作業存儲在檔案

kitchen.sh-file=/home/job/huimin.kjb >> /home/log/kettle.log

作業存儲在資料庫

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

2.Pan——轉換執行器(字尾名:ktr)

是一個轉換執行引擎,用來執行轉換。參數與Kitchen類似,如下。

-version顯示版本資訊

-file=filename運作xml檔案

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

-log=logging filename 設定日志檔案

-level=logging level  設定日志級别

Error:隻顯示錯誤

Nothing:不顯示任何輸出

Minimal:隻使用最少的記錄

Basic:這是預設的基本日志記錄級别

Detailed:詳細的日志輸出

Debug:以調試為目的,非常詳細的輸出

Rowlevel:使用行級記錄,會産生大量的資料

傳回狀态:

Pan會基于執行狀況傳回一個錯誤碼。

•      0:轉換執行成功

•      1:處理過程中發生錯誤

•      2:在裝載或者運作時發生意外的錯誤

•      3:不能初始化轉換

•      7:轉換不能從資源庫或xml中裝載

•      8:裝載步驟或插件錯誤(通常是裝載其中一個插件錯誤)

•      9:指令行用法錯誤

例如:

使用資源庫(repository)登入時,預設的使用者名和密碼是admin/admin

當job是存放在資源庫(一般資源庫都使用資料庫)中時,使用Kitchen.bat執行job時,需使用如下的指令行:

Kitchen.bat /rep kettle /user admin /pass admin /dir job目錄 /job job名

當job沒有存放在資源庫而存放在檔案系統時,使用Kitchen.bat執行job時,需使用如下的指令行:

Kitchen.bat /norep /file user-transfer-job.kjb

可以使用指令行執行job後,就可以使用windows或linux的任務排程來定時執行任務了

如果執行的不是job,執行的是一個trans時,需使用如下的指令行:

./pan.sh -rep=boss -trans=trans名