我们在前面介绍的实战篇章中,基本都是在Spoon的图形化界面中点击运行按钮时来运行我们的作业或者转换的,但是Kettle也为我们提供了基于命令行的调用方式,基于命令行的方式可以方便我们通过Shell脚本或者Windows的Bat脚本来对作业&转换进行调用,这方便我们配置作业&转换的任务调度
我们可以在类似Unix平台上使用crontab服务来调用我们的Kettle作业&转换,在Windows平台也可以编写bat脚本添加任务计划进行有规律的调用,这对ETL的自动化处理是非常方便的.
本章就详细的介绍Kettle为我们提供的命令行工具
命令行工具介绍
在我们下载的Kettle目录下,我们可以看到存在几个bat或者sh文件,主要包含:
- Pan:执行转换的命令行工具
- Kitchen:执行作业的命令行工具
- Encr:加密工具
- import: 备份和还原资源库命令工具
- Spoon:Kettle的Spoon图形化启动命令
- runSample:执行Kettle为我们提供的转换示例
- Carte:Kettle提供的基于Jetty的简单作业服务器,主要用于Kettle集群,不同于
Kitchen
命令的是,该服务是后台一直运行的
转换执行工具(Pan)
在Windows平台执行Pan.bat
文件,如果是在类似Unix环境下需要执行pan.sh
文件
关于Pan工具我们如果不知道输入参数的话,可以直接运行,此时Kettle会为我们打印出来相关的参数介绍信息
Options:
/rep : 资源库名称
/user : 资源库用户名
/trustuser : 资源库用户名
/pass : 资源库密码
/trans : 要启动的转换名称
/dir : 目录(不要忘了前缀 /)
/file : 要启动的文件名(转换所在的 XML 文件)
/level : 日志等级 (Basic,Detailed,Debug,Rowlevel,Error,Minimal,Nothing)
/logfile : 要写入的日志文件
/listdir : 列出资源库里的目录
/listtrans : 列出指定目录下的转换
/listrep : 列出可用资源库
/exprep : 将资源库里的所有对象导出到 XML 文件中
/norep : 不要将日志写到资源库中
/safemode : 安全模式下运行: 有额外的检查
/version : 显示版本,校