kettle教程---kettle作业调度,根据更新时间增量更新

本文接上一篇,只写到读取日志。在平时工作当中,会遇到这种情况,而且很常见。比如:增量抽取(每隔2个小时抽取截至到上次抽取时间的记录)
本文中会用到作业,先来熟悉下作业的概念

简单地说,一个转换就是一个ETL的过程,而作业则是多个转换、作业的集合,在作业中可以对转换或作业进行调度

实际情况中,每次抽取完毕,会写入日志表,记录本次抽取时间,下次抽取会根据本次抽取的成功时间,开始获取数据进行抽取。

我们可以使用作业来完成调度任务,需要用到调度控件【start】和【成功】这两个。

【start】可以控制执行频率,控制什么时间执行,间隔多长时间执行都可以进行配置,还是比较方便的。
下面需要这5个控件来完成,我们逐一看下每个控件是怎么使用的。
kettle教程---kettle作业调度,根据更新时间增量更新_第1张图片
1)【start】控件。

如下图,该控件可以配置定时执行时间和时间间隔,是否重复等。为了实时抽取,我们把重复给勾选上,类型选中时间间隔,以分钟计算,每60分钟执行一次作业。
kettle教程---kettle作业调度,根据更新时间增量更新_第2张图片
2)【转换1】-获取student表的更新时间,我们点击右键,进入转换的编辑页面
kettle教程---kettle作业调度,根据更新时间增量更新_第3张图片
kettle教程---kettle作业调度,根据更新时间增量更新_第4张图片
kettle教程---kettle作业调度,根据更新时间增量更新_第5张图片
点击【设置变量】,将表输入的结果放入变量中。
kettle教程---kettle作业调度,根据更新时间增量更新_第6张图片
3)【转换2】-student表作业,我们点击右键,进入转换的编辑页面,设置相应的表输入和表输出项,如下图
kettle教程---kettle作业调度,根据更新时间增量更新_第7张图片
kettle教程---kettle作业调度,根据更新时间增量更新_第8张图片
4)【转换3】-写同步日志,我们点击右键,进入转换的编辑页面,此处包含一个【sql脚本】,写入sql后点击保存
kettle教程---kettle作业调度,根据更新时间增量更新_第9张图片
转换完成。
效果每次隔1个小时抽取,写入日志表。下次抽取日志表之后的数据。
欢迎关注公众号【大喇叭玩转数据库】,学习kettle、数据库和开发方面的知识

你可能感兴趣的:(kettle,ETL,数据库,java,大数据,编程语言,etl)