KETTLE使用Windows和Linux计划任务来调度KETTLE作业


KETTLE调度

KETTLE有三大块:

  • Spoon:转换/工作(transform/job)设计工具,主要是GUI方式。
  • Kitchen:工作(job)执行器,是一个作业执行引擎,通过命令行的方式带参数执行,参数说明如下:

    1. -rep:Repositoryname 任务包所在存储名
    2. -user:Repositoryusername 执行人
    3. -pass:Repositorypassword 执行人密码
    4. -job:Thenameofthejobtolaunch 任务包名称
    5. -dir:Thedirectory(don’tforgettheleading/or)
    6. -file:Thefilename(JobXML)tolaunch
    7. -level:Thelogginglevel(Basic,Detailed,Debug,Rowlevel,Error,Nothing)指定日志级别
    8. -log:Theloggingfiletowriteto 指定日志文件
    9. -listdir:Listthedirectoriesintherepository 列出指定存储中的目录结构。
    10. -listjobs:Listthejobsinthespecifieddirectory 列出指定目录下的所有任务
    11. -listrep:Listthedefinedrepositories 列出所有的存储
    12. -norep:Don’tlogintotherepository 不写日志
  • Span:转换(transform)执行器,是一个转换执行引擎,通过命令行的方式带参数执行,参数说明如下:
    1. -version 显示版本信息
    2. -file=filename 运行 xml 文件
    3. -param:key=value 指定命名参数
    4. -log=logging filename 设置日志文件
    5. -level=logging level 设置日志级别,日志级别参数有
      • Error:只显示错误
      • Nothing:不显示任何输出
      • Minimal:只使用最少的记录
      • Basic:这是默认的基本日志记录级别
      • Detailed:详细的日志输出
      • Debug:以调试为目的,非常详细的输出
      • Rowlevel:使用行级记录,会产生大量的数据

使用windows设置计划任务来定期执行KETTLE的JOB作业进行数据的全库更新

  • 新建一个bat脚本来执行Kitchen.bat,通过Kitchen在执行对应的作业文件,设置日志格式和保存日志路径


    BAT文件代码如下:

    cd C:\Program Files\data-integration
    kitchen.bat /file D:\KETTLE\数据迁移.kjb /level Detailed /logfile D:\KETTLE\数据迁移.log
    @pause

  • 创建新的计划任务

  • 选计划任务的时间和周期
  • 选择计划任务的程序或者脚本
  • 在任务计划程序表查看计划任务是否创建成功
  • 在右下角执行运行查看BAT文件是否执行成功
  • 在图中显示程序运行好的日记就代表成功了

使用Linux设置计划任务来定期执行KETTLE的JOB作业进行数据的全库更新

  • 解压KETTLE文件到目录
    unzip KETTLE目录
  • 发现运行sh文件权限不够,所以赋予权限
    chmod a+x *.sh

  • 编写需要定时任务执行的脚本mysql,并赋予权限
    vim mysql.sh

    chmod a+x mysql.sh
  • 进入计划任务文件
    vim /etc/crontab
  • 添加新的计划任务项
  • 保存后就可以了,到指定时间Linux就会执行了

你可能感兴趣的:(kettle,etl)