Kettel定时任务创建

Kettel定时任务

 

一、无参数

新建转换crontest.ktr

Kettel定时任务创建

定义自己的转换内容。

 

新建任务crontest.kjb

Kettel定时任务创建

双击转换,选择转换文件

Kettel定时任务创建

新建执行任务脚本job.bat

cd E: \data-integration  

Kitchen.bat /norep -file=C:\ kettle_lianxi\job.kjb /logfile=C: \kettle_lianxi\hello.logexit

第一部分为kettle安装路径Kitchen.bat所在位置,第二部分为定时运行的job的位置,第三部分为运行结果记录日志,可以去掉。

 

itchen.bat   后面可以是-也可以是/然后再加options

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.

 

而options 后面可以是=也可以是:也可以是空格

kitchen.bat /file d:\   或者 -file=D:\ 或者/file:D:\等等都可以。。。

 

 

新建job.vbs内容(不弹cmd框) Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c C: \kettle_lianxi\job.bat",vbhide

 

新建windows定时任务。

 

 

二、带参数的定时任务

 

右键--作业设置--命名参数

Kettel定时任务创建

 

   

双击转换

Kettel定时任务创建

 

接着打开.ktr,定义转换参数(定义的名字与作业中定义的转换参数保持一致)

右键--转换设置--命名参数

Kettel定时任务创建

 

表输入

Kettel定时任务创建Kettel定时任务创建

 

Kitchen.bat /norep -file=C:\dashuju\job\crontest.kjb "-param:para=1000" /logfile=C:\dashuju\hello.txt

 

注意参数项加引号

 

三、全局变量

编辑--编辑kettle.property文件

增加变量名及值,值可为数据库中对应的函数。

V_YES_DATE: CONVERT(varchar(12) , dateadd(day,-1,getdate()), 111 )

 

在表输入中使用即可

Kettel定时任务创建

注:在使用参数时需要勾选"替换SQL语句里的变量"

 

Sqlserver中获取日期的函数:

select CONVERT(varchar(12) , getdate(), 101 ) --12/28/2007
select CONVERT(varchar(12) , getdate(), 102 ) --2007.12.28
select CONVERT(varchar(12) , getdate(), 103 ) --28/12/2007
select CONVERT(varchar(12) , getdate(), 104 ) --28.12.2007
select CONVERT(varchar(12) , getdate(), 105 ) --28-12-2007
select CONVERT(varchar(12) , getdate(), 106 ) --28 12 2007
select CONVERT(varchar(12) , getdate(), 107 ) --12 28, 2007
select CONVERT(varchar(12) , getdate(), 108 ) --10:06:33
select CONVERT(varchar(12) , getdate(), 109 ) --12 28 2007 1
select CONVERT(varchar(12) , getdate(), 110 ) --12-28-2007
select CONVERT(varchar(12) , getdate(), 111 ) --2007/12/28
select CONVERT(varchar(12) , getdate(), 112 ) --20071228
select CONVERT(varchar(12) , getdate(), 113 ) --28 12 2007 1
select CONVERT(varchar(12) , getdate(), 114 ) --10:07:36:623
select CONVERT(varchar, getdate(), 120 ) --2007-12-28 10:08:56
select CONVERT(varchar(10), getdate(), 120 ) --2007-12-28
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --20071228101012 \

前天:Select dateadd(day,-2,getdate())

明天 :Select dateadd(day,1,getdate())

convert(nvarchar(6),dateadd(day,-1,getdate()),112)

 

Cmd获取当前年月日

set Today=%date:~0,4%%date:~5,2%%date:~8,2%

set /a YesToday=%Today%-1

 

Kitchen.bat /norep -file=C:\dashuju\pdi-ce-7.0.0.0-25\hbase.kjb "-param:YesToday=%YesToday%" "-param:Today=%Today%" /logfile=C:\dashuju\hbase.txt

 

 

Kitchen.bat /norep -file=C:\dashuju\pdi-ce-7.0.0.0-25\hbase.kjb "-param:Today=20160727" "-param:YesToday=20160726" /logfile=C:\dashuju\hbase.txt

 

Kitchen.bat /norep -file=C:\dashuju\pdi-ce-7.0.0.0-25\hbase.kjb "-param:YesToday=20160726" /logfile=C:\dashuju\hbase.txt

 

 

Kitchen.bat -file=C:\dashuju\pdi-ce-7.0.0.0-25\hbase.kjb /logfile=C:\dashuju\hbase.txt

 

Pan.bat -file=C:\dashuju\etltoesday.ktr "-param:Today=20160727" "-param:YesToday=20160726" /logfile=C:\dashuju\hbase.txt

 

Pan.bat -file=C:\dashuju\TeminalBMS.ktr /logfile=C:\dashuju\hbase.txt

 

Pan.bat -file=C:\dashuju\sql2hbase.ktr -level=Rowlevel

 

Kitchen.bat -file=C:\dashuju\pdi-ce-7.0.0.0-25\hbase.kjb -level=Rowlevel

Pan.bat -file=C:\dashuju\hbasetest.ktr -level=Rowlevel