kettle开发篇-作业

简介: kettle开发篇-作业

前言:


昨天我们讲了java脚本,我们通过java脚本执行了类似JavaScript脚本获取日期年、月、日的处理。今天我们来讲kettle中的一个大项-作业来结束2022年kettle教程的编写,2023年我会继续坚持每日更新。


一、作业


大多数ETL项目都需要完成各种各样的维护工作。 例如,如何传送文件;验证数据库表是否存在,等等。而这些操作都是按照一定顺序完成。因为转换以并行方式执行,就需要一个可以串行执行的作业来处理这些操作。


一个作业包含一个或多个作业项,这些作业项以某种顺序来执行。作业执行顺序由作业项之间的跳(job hop)和每个作业项的执行结果来决定。如下图所示的作业,我们从START开始,传送数据,当我们传送数据成功后我们就加载维度表,但当我们传送数据失败后,我们就会发送错误邮件并结束这个作业。同样的加载维度表成功后,我们继续执行加载事实表。

作业项的介绍图下图所示,即作业的基本构成部分。

作业跳是作业项之间的连接线,有三种不同的状态,一个为无条件执行,一个是当结果为True的时候才执行,一个是当结果为False的执行才执行。


二、任务


为了方便大家理解,我们可以执行一个作业案例,从Excel读取数据,保存到Excel,再从文本文件中读取数据保存到Excel,如果产生错误就发送邮件,并且停止作业,如果成功发送成功邮件。

最终我们的作业包括转换1和转换2及对应成功和失败后的处理操作,如成功后发送邮件,错误后发送错误邮件,并终止作业。其中转换1为从Excel读取数据输出至Excel,转换2从文本文件读取数据并输出至Excel。

运行转换后,我们从日志中就可以看到整个作业的执行流程。

相关文章
kettle开发篇-空操作
kettle开发篇-空操作
263 0
kettle开发篇-参数
kettle开发篇-参数
342 0
|
数据库
kettle开发篇-合并记录
kettle开发篇-合并记录
623 0
|
调度
kettle开发篇-写日志
kettle开发篇-写日志
994 0
|
数据采集 Oracle 关系型数据库
kettle开发-循环驱动作业
kettle开发-循环驱动作业
476 0
|
6月前
|
Java 数据库
【YashanDB知识库】kettle同步大表提示java内存溢出
在数据导入导出场景中,使用Kettle进行大表数据同步时出现“ERROR:could not create the java virtual machine!”问题,原因为Java内存溢出。解决方法包括:1) 编辑Spoon.bat增大JVM堆内存至2GB;2) 优化Kettle转换流程,如调整批量大小、精简步骤;3) 合理设置并行线程数(PARALLELISM参数)。此问题影响所有版本,需根据实际需求调整相关参数以避免内存不足。
|
Oracle 前端开发 关系型数据库
kettle开发篇-更新
kettle开发篇-更新
517 1
|
JavaScript 前端开发 数据库
Kettle使用脚本实现循环(十)
Kettle使用脚本实现循环(十)
1846 0
Kettle使用脚本实现循环(十)
|
11月前
|
Java
ETL工具 Kettle 中 kettle循环传递变量_(最简单的方法)
本文详细介绍了如何在Kettle工具中使用循环传递变量,通过示例展示了如何将movies表数据按月插入到ods_movies表,涉及新建转换、获取变量、作业配置和执行,呈现了一个嵌套作业结构.
1498 3