kettle开发篇-作业调度-Day8

前言:

前面我们介绍了kettle的一些常用组件,同步方法,缓存机制及怎么去处理kettle出现的小问题。今天我们讲两种kettle中常用的作业调度方法,kettle作为一款ETL工具负责将数据从ODS层处理至DWD层,主要负责数据的清洗、转换工作。kettle其实只有2个功能组合即转换和作业,转换负责组件间的协调配合,作业负责任务的执行,但是我们怎么能让kettle自动将任务跑起来,自己完成数据的清洗和转换,并且将整个操作过程留下痕迹。

一、Start任务调度

当我们刚接触kettle时,我们为了方便测试和演示作业的效果,常常通过Start组件来定时完成作业的调度。 在我们的作业里头,我们选择通用,然后选择一个START组件,双击打开,我们就可以看到,START组件可以通过勾选重复,按照我们的要求来定时运行我们的作业。

kettle开发篇-作业调度-Day8_第1张图片

如下图所示,我们设置作业每小时运行一次,然后我们可以在日志栏详细看到我们的运行记录,包括运行时长,读取、删除、插入、更新那些记录。

kettle开发篇-作业调度-Day8_第2张图片 总结:这种方式,操作简单,随时可以监控到运行情况,但需要打开kettle软件才能运行,且长时间运行,会因为出现错误导致,定时任务失败,一般用于测试和调度读取CSV和EXCEL文件的场景。

二、winds任务调度

上面讲到通过Start组件来定时调用作业,但这种方法容易导致运行失败,也会因为服务器重启导致调度任务被强制关闭而终止。接下来介绍一种在后台运行,无需打开kettle程序即可定时调度作业的方法。首先我们来看一个调度案例,对应调度脚本由bat脚本组成,脚本内容包括三个部分。调度用到的exe程序、作业的位置、日志保持的位置及级别。

如: cd D:\kettle\pdi-ce-5.4.0.1-130\data-integration kitchen.bat /file D:\etl\数采实时数据\生产日报\生产日报-集团\集团生产日报作业.kjb /level Basic>>D:\kettle\log\fjl_%date:~0,4%%date:~5,2%%date:~8,2%.log

kettle开发篇-作业调度-Day8_第3张图片

编写好的脚本,通过定时任务进行调度来完成整个定时作业的执行。 总结:此方法,可以并发执行同一个或者多个作业,运行稳定,抗干扰能力强,但容易占用太多kettle缓存,出现kettle作业运行失败的问题。在不考虑小问题的情况下,还是推荐此种方式。

你可能感兴趣的:(Kettle从入门到抛弃)