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) |