Linux下用命令來執行kettle文件資源庫的文件ktr與kjb的方法


轉載地址: https://blog.csdn.net/zuolovefu/article/details/78083445

1. 准備工作

一個簡單的job,一個簡單的trans。


trans:讀取download目錄下的所有文件名,輸出為文件。【界面情況下測試成功】 
這里寫圖片描述
成功生成目標文件: 
這里寫圖片描述
job:創建文件。【界面模式測試執行成功】 
這里寫圖片描述
執行結果: 
這里寫圖片描述
把界面執行測試結果文件刪除,以免影響觀察。

2. linux環境以命令行方式執行job和trans

    Pan是用於執行trans的PDI命令行工具。
    Kitchen是用於執行作業的PDI命令行工具。
  • 1
  • 2

a. Pan的命令行選項和語法 
語法:

        pan.sh -option=value arg1 arg2
  • 1

命令行參數:

Switch Purpose
rep Enterprise or database repository name, if you are using one
user Repository username
pass Repository password
trans The name of the transformation (as it appears in the repository) to launch
dir The repository directory that contains the transformation, including the leading slash
file If you are calling a local KTR file, this is the filename, including the path if it is not in the local directory
level The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)
logfile A local filename to write log output to
listdir Lists the directories in the specified repository
listtrans Lists the transformations in the specified repository directory
listrep Lists the available repositories
exprep Exports all repository objects to one XML file
norep Prevents Pan from logging into a repository. If you have set the KETTLE_REPOSITORY, KETTLE_USER, and KETTLE_PASSWORD environment variables, then this option will enable you to prevent Pan from logging into the specified repository, assuming you would like to execute a local KTR file instead.
safemode Runs in safe mode, which enables extra checking
version Shows the version, revision, and build date
param Set a named parameter in a name=value format. For example: -param:FOO=bar
listparam List information about the defined named parameters in the specified transformation.
maxloglines The maximum number of log lines that are kept internally by PDI. Set to 0 to keep all rows (default)
maxlogtimeout The maximum age (in minutes) of a log line while being kept internally by PDI. Set to 0 to keep all rows indefinitely (default)

示例:

    sh pan.sh -rep=initech_pdi_repo -user=pgibbons -pass=lumburghsux -trans=TPS_reports_2011
  • 1

本地trans調用示例:

./pan.sh -file=/home/hadoop/workplace/kettle/trans/test_cml.ktr -norep
  • 1

b.Kitchen的命令行參數及語法:

語法與Pan一樣,參數有點不同。

Switch urpose
rep Enterprise or database repository name, if you are using one
user Repository username
pass Repository password
job The name of the job (as it appears in the repository) to launch
dir The repository directory that contains the job, including the leading slash
file If you are calling a local KJB file, this is the filename, including the path if it is not in the local directory
level The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)
logfile A local filename to write log output to
listdir Lists the sub-directories within the specified repository directory
listjob Lists the jobs in the specified repository directory
listrep Lists the available repositories
export Exports all linked resources of the specified job. The argument is the name of a ZIP file.
norep Prevents Kitchen from logging into a repository. If you have set the KETTLE_REPOSITORY, KETTLE_USER, and KETTLE_PASSWORD environment variables, then this option will enable you to prevent Kitchen from logging into the specified repository, assuming you would like to execute a local KTR file instead.
version Shows the version, revision, and build date
param Set a named parameter in a name=value format. For example: -param:FOO=bar
listparam List information about the defined named parameters in the specified job.
maxloglines The maximum number of log lines that are kept internally by PDI. Set to 0 to keep all rows (default)
maxlogtimeout The maximum age (in minutes) of a log line while being kept internally by PDI. Set to 0 to keep all rows indefinitely (default)

執行本地job的命令行語句:

    /home/kettle/data-integration/kitchen.sh -file=/home/kettle/transition/move.kjb -log=log.log
  • 1

形式:

    $kitchen路徑 -file=$job路徑 log=$log路徑
  • 1

調用pan結果: 
這里寫圖片描述
調用kitchen結果: 
這里寫圖片描述

3.個人常用命令選項

由於我當前的工作環境都是執行本地的job和trans文件,所以常用的命令選項有:

命令 描述
-file job或trans文件路徑
-norep 標明不是資源庫里的文件
-param 參數設置
-logfile log輸出文件名
-level log級別 (Basic, Detailed, Debug, Rowlevel, Error, Nothing)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM