Kettle入门之四 Kettle定时任务(后台任务)

前面我们介绍了 Kettle的Spoon的转换和作业定时任务GUI设计方式以及运行,但是在实际应用中,我们需要计划任务是在服务器后台运行。

首先我们需要了解Kettle的Kitchen和Pan
Kitchen——作业(job)执行器 (命令行方式)
Pan——转换(trasform)执行器 (命令行方式)

下面我们将重点讲解经常会用到的 ***作业执行器 Kitchen.bat *** 。

Kitchen 参数说明:
-rep:Repository name 任务包所在存储名
-user:Repository username 执行人
-pass:Repository password 执行人密码
-job:The name of the job to launch 任务包名称
-dir:The directory (don''t forget the leading / or )
-file:The filename (Job XML) to launch
-level:The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别
-log:The logging file to write to 指定日志文件
-listdir:List the directories in the repository 列出指定存储中的目录结构。
-listjobs:List the jobs in the specified directory 列出指定目录下的所有任务
-listrep:List the defined repositories 列出所有的存储
-norep:Don''t log into the repository 不写日志

命令行执行配置方式

1、新建一个bat文件,命名job.bat,然后编辑,输入内容如下:

d:                   ## Kitchen.bat所在路径盘符
cd D:\software\Kettle7       ## Kitchen.bat所在目录

## 作业(job)文件路径和日志文件路径
## 执行kitchen执行job,并写入日志
kitchen /file:D:\KettleProject\job2.kjb /level:Base>>D:\KettleProject\test.log

注意:确保路径的正确性。

2、双击job.bat,即可运行。

后台运行配置方式

我们已经建立了命令行运行的bat文件,并且已经可以正确执行我们的ETL任务了,但是现在我们在运行bat后,桌面上面会一直存在一个控制台的黑窗口,我们可以使用bat命令中的隐藏窗口的命令。

修改我们的job.bat文件

@echo off

if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
::

d:                   ## Kitchen.bat所在路径盘符
cd D:\software\Kettle7       ## Kitchen.bat所在目录

## 作业(job)文件路径和日志文件路径
## 执行kitchen执行job,并写入日志
kitchen /file:D:\KettleProject\job2.kjb /level:Base>>D:\KettleProject\test.log

在此双击job.bat运行,我们将不会再看到控制台黑窗口继续保留在桌面上,并且等待设置的间隔时间后,我们可以看到日志文件记录。
···
2017/12/07 16:51:26 - Kitchen - Logging is at level : 基本日志
2017/12/07 16:51:26 - Kitchen - Start of run.
2017/12/07 16:51:31 - job2 - 开始执行任务
2017/12/07 16:51:31 - job2 - job2
2017/12/07 16:53:31 - job2 - 开始项[简单表同步]
2017/12/07 16:53:31 - 简单表同步 - Loading transformation from XML file [file:///D:/KettleProject/TEST2.ktr]
2017/12/07 16:53:31 - 简单表同步 - Using run configuration [Pentaho local]
2017/12/07 16:53:31 - 简单表同步 - Using legacy execution engine
2017/12/07 16:53:31 - TEST2 - 为了转换解除补丁开始 [TEST2]
2017/12/07 16:53:32 - 表输入.0 - Finished reading query, closing connection.
2017/12/07 16:53:32 - 表输入.0 - 完成处理 (I=3, O=0, R=0, W=3, U=0, E=0)
2017/12/07 16:53:32 - 插入 / 更新.0 - 完成处理 (I=3, O=0, R=3, W=3, U=1, E=0)
···

上一篇: Kettle入门之三 Kettle定时任务(GUI)
下一篇: Kettle入门之五 Kettle应用场景(增量插入和更新)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 曾经有一份美好的爱情放在我的面前我没有珍惜。等到失去后才后悔莫及。如果可以再对小李说。毛欣想说。这辈子无缘再牵手。...
    毛欣与小李阅读 2,654评论 0 13
  • 当你老去,青丝成雪,睡眼昏沉; 炉边假寐,翻阅此书,细细品味; 梦回往昔,你双眸波影深深,柔情似水。 多少人贪恋你...
    已惘斋主人阅读 532评论 0 0
  • 今天上午我们学了兔子舞,学了四个新动作,我学呀学呀学,终于学会了。放学我爸爸来接我,我们中午吃完饭之后就...
    吴卓逸阅读 267评论 0 1
  • 我还是相信 星星会说话 石头会开花 穿过夏天的栅栏和冬天的风雪之后 你终会抵达 ...
    楚少寒阅读 492评论 0 0