Linux下用命令来执行kettle文件资源库的文件ktr与kjb的方法
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) | 
Linux下用命令来执行kettle文件资源库的文件ktr与kjb的方法的更多相关文章
- linux下rm命令删除文件名中包含特殊字符的文件【转】
		转自:http://blog.itpub.net/143526/viewspace-1060083/ 1. 删除带“-”的文件名的方法 2. 删除包含其它特殊字符的文件 3. 删除系统打不出的乱码文件 ... 
- Linux下pecl命令无法执行的解决
		pecl install swoole 提示如下错误:bash: pecl: command not found执行yum install php-pear生效 
- linux下svn命令使用大全
		最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全:1.将文件checkout到本地目录 svn checkout path(path是服务器 ... 
- [转载]linux下svn命令使用大全
		原文地址:http://blog.chinaunix.net/uid-22150747-id-189264.html 最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个li ... 
- Linux下scp命令使用
		linux下scp命令主要是用来远程拷贝文件,下面介绍两种使用方法 1,拷贝本机文件到远程文件 举例子:把我本地的change目录下的changeFile.txt上传到远程192.168.2.88的k ... 
- LINUX学习笔记——LINUX下EXP命令全库备份数据库文件
		LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup --创建backup文件夹 cd / --进入cd语句 ls -l ... 
- Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身
		Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身 rm -rf * 
- 在Linux下使用命令行打印文件
		近期需要将数学笔记打印出来复习,才发现Linux KDE环境下的默认PDF软件Okular根本无法将我在GoodNotes B5大小的页面写下的内容自适应地放大到A4纸上,只能以页面的原始尺寸打印.然 ... 
- 例解 Linux 下 Make 命令
		Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ... 
随机推荐
- revenue
			美 ['revənju] 英 ['revənjuː] n.收益:营业额:税务署 网络收入:税收:岁入 
- 阿里云yii2 composer update 很慢的解决办法
			先执行如下语句 composer global require "fxp/composer-asset-plugin:dev-master" 再执行 composer update 
- K8S集群Master高可用实践
			K8S集群Master高可用实践 https://blog.51cto.com/ylw6006/2164981 本文将在前文基础上介绍k8s集群的高可用实践,一般来讲,k8s集群高可用主要包含以 ... 
- python  设计模式之装饰器模式 Decorator Pattern
			#写在前面 已经有一个礼拜多没写博客了,因为沉醉在了<妙味>这部小说里,里面讲的是一个厨师苏秒的故事.现实中大部分人不会有她的天分.我喜欢她的性格:总是想着去解决问题,好像从来没有怨天尤人 ... 
- pytorch标准化后的图像数据如果反标准化保存
			1.数据处理代码utils.py: 1) # coding:utf- import os import torch.nn as nn import numpy as np import scipy.m ... 
- 算法习题---5-4交换学生(UVa10763)
			一:题目 有一组学生,他们手中分别有自己学校和想要去的目标学校(A,B).为了成功的交换学生,必须保证这一组学生中必须每两个人之间满足 s1 (A,B) 和 s2 (B,A).即两者原来和目标学校相对 ... 
- VS编译出错不自动运行上次的程序
- 转  mysql awr 报告
			1. https://github.com/noodba/myawr 2. https://www.cnblogs.com/zhjh256/p/5779533.html 
- 【436】Solution for LeetCode Problems
			Coding everyday. ^_^ 1. Two Sum 重点知识:指针可以存储数值,通过 malloc 新建数组 int* returnSize:Size of the return arra ... 
- array_map
			<?php //对数组中的每个元素做函数处理 $arr = array(,,,,,); function cheng($hah){ ; } var_dump(array_map('cheng', ... 
