1. 程式人生 > >KETTLE使用Windows和Linux計劃任務來排程KETTLE作業

KETTLE使用Windows和Linux計劃任務來排程KETTLE作業

KETTLE有三大塊:

  • Spoon:轉換/工作(transform/job)設計工具,主要是GUI方式。
  • Kitchen:工作(job)執行器,是一個作業執行引擎,通過命令列的方式帶引數執行,引數說明如下:

    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 不寫日誌
  • Span:轉換(transform)執行器,是一個轉換執行引擎,通過命令列的方式帶引數執行,引數說明如下:
    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:使用行級記錄,會產生大量的資料

使用windows設定計劃任務來定期執行KETTLE的JOB作業進行資料的全庫更新

  • 新建一個bat指令碼來執行Kitchen.bat,通過Kitchen在執行對應的作業檔案,設定日誌格式和儲存日誌路徑


    BAT檔案程式碼如下:

    cd C:\Program Files\data-integration
    kitchen.bat /file D:\KETTLE\資料遷移.kjb /level Detailed /logfile D:\KETTLE\資料遷移.log
    @pause

  • 建立新的計劃任務

  • 選計劃任務的時間和週期
  • 選擇計劃任務的程式或者指令碼
  • 在任務計劃程式表檢視計劃任務是否建立成功
  • 在右下角執行執行檢視BAT檔案是否執行成功
  • 在圖中顯示程式執行好的日記就代表成功了

使用Linux設定計劃任務來定期執行KETTLE的JOB作業進行資料的全庫更新

  • 解壓KETTLE檔案到目錄
    unzip KETTLE目錄
  • 發現執行sh檔案許可權不夠,所以賦予許可權
    chmod a+x *.sh

  • 編寫需要定時任務執行的指令碼mysql,並賦予許可權
    vim mysql.sh

    chmod a+x mysql.sh
  • 進入計劃任務檔案
    vim /etc/crontab
  • 新增新的計劃任務項
  • 儲存後就可以了,到指定時間Linux就會執行了