1.场景介绍:
根据不同的操作系统定时调度kettle资源库中的job

1.1Windows系统的定时调度:

我的是 version7.1

如何在kettle上跑python脚本 kettle 脚本_如何在kettle上跑python脚本

如上图,在kettle里面的作业已经执行成功。

一、首先编写kettle.bat脚本:(kitchen.bat  后面可以是-也可以是/然后再加options,而options 后面可以是=也可以是:也可以是空格

 D:
cd D:\kettle\pdi-ce-7.1.0.0-12\data-integration
kitchen.bat -rep=product -user=admin -pass=admin -dir=/ -job=人才生产线job -level=basic>D:\kettle\JOB.log

顺便解释一下:

1、首先cd 是进入到kettle安装执行文件目录下 
       -rep 表示的是你的仓库名,也就是你的资源库的名称,这里我的资源库名称就是 JS_JOB
       -user 资源库用户名    这里就是admin
      -pass 资源库密码        这里是qdhuang 默认的是admin ,为了安全我们可以更改密码
      -dir    就是你的job在资源库中存放目录  支持中文的目录
      -job   job的名称   这里我的job名称就是jobname(job名字不要带后缀,不然提示找不到job错误)
      -level 日志的级别  我们普通的写basic就可以了,就是最基本的
      最后面就是日志了,针对job跑起来的相关信息都会保存在job.log中
2、针对相关的更多参数如下(options):
/rep        : Repository name
/user       : Repository username
/pass       : Repository password
/job        : The name of the job to launch
/dir        : The directory (dont forget the leading /)
/file       : The filename (Job XML) to launch
/level      : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)
/logfile    : The logging file to write to
/listdir    : List the directories in the repository
/listjobs   : List the jobs in the specified directory
/listrep    : List the available repositories
/norep      : Do not log into the repository
/version    : show the version, revision and build date
/param      : Set a named parameter <NAME>=<VALUE>. For example -param:FOO=bar
/listparam : List information concerning the defined parameters in the specified job.
/export     : Exports all linked resources of the specified job. The argument is the name of a ZIP
file.

注意:

保存kitchen.bat文件时,刚开始选的编码是utf8,此时中文乱码(后改为Unicode也是乱码),最后改为ANSI就可以了。

如何在kettle上跑python脚本 kettle 脚本_List_02

二、完成bat脚本以后,双击测试一下,会跳出cmd命令窗口,此时打开JOB.log日志记录,会发现已经在执行作业了,等待完成以后,cmd窗口会自动关闭。接下来就是Windows的定时任务来管理调度bat脚本了。

如何在kettle上跑python脚本 kettle 脚本_资源库_03

三、windows下建立执行任务(我的服务器是Windows Server 2016 Datacenter)

打开控制面板--管理工具--任务计划程序

如何在kettle上跑python脚本 kettle 脚本_如何在kettle上跑python脚本_04

打开右侧的创建基本任务,填写作业名称,然后下一步打开触发器:

如何在kettle上跑python脚本 kettle 脚本_资源库_05

打开触发器,根据自己的需求选择执行频率,然后下一步打开具体的设置:

如何在kettle上跑python脚本 kettle 脚本_资源库_06

 

如何在kettle上跑python脚本 kettle 脚本_List_07

打开操作,下一步打开具体设置(选择需要执行的bat脚本),下一步完成:

如何在kettle上跑python脚本 kettle 脚本_List_08

如何在kettle上跑python脚本 kettle 脚本_List_09

 

如何在kettle上跑python脚本 kettle 脚本_资源库_10

至此,Windows计划任务调度kettle作业完成。

二:linux环境crond定时任务执行kettle资源库中的job

linux环境定时调度任务主要用crond

1、先手动执行定时任务以此来判断脚本是否有问题。

手动调job没有问题:

如何在kettle上跑python脚本 kettle 脚本_List_11


2、确认服务器是否开启定时任务计划服务

命令:service crond status

启动命令:service crond start

如何在kettle上跑python脚本 kettle 脚本_kettle_12


3.设置定时任务:

12 17 * * * /data/data-integration/kitchen.sh -rep=xforceplus -job=sj_sjzc_job -dir=/Hades/ETL/OTHER_DATA>/root/cron.log

如何在kettle上跑python脚本 kettle 脚本_List_13


4.17:12查看定时任务结果

a.17:12程序启动成功

如何在kettle上跑python脚本 kettle 脚本_kettle_14


b.文件成功生成

如何在kettle上跑python脚本 kettle 脚本_定时调度_15


三.kettle更多参数介绍

如何在kettle上跑python脚本 kettle 脚本_定时调度_16


如何在kettle上跑python脚本 kettle 脚本_定时调度_17


kettle更多参数如下:

/rep : Repository name

/user : Repository username

/pass : Repository password

/job : The name of the job to launch

/dir : The directory (dont forget the leading /)

/file : The filename (Job XML) to launch

/level : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing)

/logfile : The logging file to write to

/listdir : List the directories in the repository

/listjobs : List the jobs in the specified directory

/listrep : List the available repositories

/norep : Do not log into the repository

/version : show the version, revision and build date

/param : Set a named parameter =. For example -param:FOO=bar

/listparam : List information concerning the defined parameters in the specified job.

/export : Exports all linked resources of the specified job. The argument is the name of a ZIP

c