Kettle系列教程-第二章:转换与作业
本系列教程基于Kettle 8.1(pdi-ce-8.1.0.0-365)。大部分内容同样适用于Kettle 7.x版本。
章节目录:
- 一、运行环境配置
- JDK
- JVM参数
- KETTLE_HOME
- 依赖包导入
- 二、转换与作业
- 转换流程
- 作业流程
- 三、数据库连接配置
- 创建数据库连接
- 共享数据库连接
- 数据库连接参数
- 四、资源库(数据库存储方式)
- 创建资源库
- 保存流程到资源库
- 从资源库打开流程
- 五、变量/参数
- 参数的配置与使用
- 变量的配置与使用
- 六、转换流程-输入组件
- Excel输入
- 表输入
- 七、转换流程-输出组件
- Excel输出
- 文本文件输出
- 表输出
- 八、转换流程-转换组件
- 九、脚本组件
- 转换-Java代码组件
- 作业-SQL组件
- 作业Shell组件
- 十、对接大数据平台
- 基础文件配置
- 上传文件到HDFS
- 连接Hive
- 十一、使用Windows计划任务定时执行Kettle作业
- 命令说明
- 编写批处理脚本执行Kettle作业
- 创建计划任务定时执行Kettle作业
- 十二、使用Java执行Kettle作业
- 搭建Kettle运行环境
- 代码示例(作业、转换、资源库)
本章说明
本篇内容为第二章:转换与作业。
经过第一章的学习,运行环境配置完成以后,就可以开始运行Kettle了,双击data-integration目录下的Spoon.bat文件,即可启动Kettle的任务设计器Spoon。启动速度较慢,可能会出现假死情况,耐心等待即可,不要连续多次双击Spoon.bat文件。
Spoon主页:
Kettle有两种流程,转换流程和作业流程。
本章只介绍基本操作,不进行具体可执行流程设计。
转换流程
Kettle是个ETL工具嘛,转换流程就是主要进行数据转换(T)步骤设计的地方。当然也包含数据源(E)和目标(L)。
新建转换流程的方式有很多,比如左上角 文件 -> 新建 -> 转换 ,或者点击欢迎页面WORK图标下的New transforation,亦可双击左侧主对象树下的转换图标,又可按快捷键Ctrl + N。
转换流程设计页面左侧核心对象下面是一个个的分类模块,每个分类下面又有许多个功能不同的组件,鼠标按住左侧组件图标拖拽到右侧流程设计面板即可增加一个步骤。
步骤之间需要使用箭头连接,箭头方向表示步骤流向,按住Shift键的同时鼠标点住步骤图标向外拉即可拉出一条箭头(按住鼠标中键也可拉出箭头),将箭头拉向下一个步骤,即可形成一个简单的转换流程:
-> 
需要注意的是步骤之间箭头的颜色,深色表示连接状态,浅色表示断开状态。比如下面这个转换流程,表输出步骤与上一步骤是断开连接的,执行流程的时候执行到去除重复记录这一步骤后就不会再往下执行了。单击箭头可以调整连接状态。
Ctrl + S保存,将保存为ktr后缀的文件。
作业流程
作业流程,即是对转换流程进行调度的。除了调度转换流程还可以做一些其他的工作,比如文件管理、条件判断、脚本执行等等,也可以调度其他作业流程。
新建作业流程与转换流程类似,快捷键是Ctrl + Alt + N。核心组件在通用分类下,一个作业流程必须包含START组件,可以没有成功组件。作业流程中可以嵌套转换流程和作业流程:
与转换流程不同的是,除了步骤之间有连接状态(箭头颜色深浅),还有连接条件(箭头上的图标,一共三种)。上图的这个作业中包含了所有连接条件:
- 小锁图标,表示不管上一步骤执行结果如何,都执行下一个步骤;
- 红叉图标,表示只有上一步骤执行出错或者返回FALSE,才执行下一步骤;
- 绿勾图标,表示只有上一步骤执行成功或者返回TRUE,才执行下一步骤。
单击连接条件图标可以调整连接条件,START步骤与下一步骤之间的连接条件不可修改。START组件标识着工作流的开始,也是配置定时任务的地方:
定时调度功能还是很灵活的,只不过需要一直保持Spoon处于启动状态,一旦Spoon窗口被误关闭,定时任务就无效了,所以一般不使用Kettle自带的这个调度器。比较常用的是使用操作系统的定时任务功能,比如Windows的计划任务,或者可以编写Java程序进行调度,后面会有详细讲解,这里就不再细说。Ctrl + S保存,将保存为kjb后缀的文件。
本章完!
下一章:数据库连接配置