Kettle使用笔记
一、基本概念:
1.1、资源库
保存kettle脚本或转换、存放数据库连接的地方,可以建立多个数据库连接,使用时就无需每次重复建立
1.2、数据库连接(db links)
连接数据库的功能,需处理数据库中的数据时创建,可连接Oracle、SqlServer、MySQL、DB2等
1.3、转换(trans)
处理数据的ETL过程,里面存放许多处理数据的组件,完成后保存会生成一个ktl文件。
1.4、作业(job)
自动、定时执行转换的步骤的名称,可以在自动执行转换的过程添加参数进行控制。
1.5、步骤(steps)
转换和作用的每个操作都是一个步骤。
二、工具栏:
2.1、资源库概念
保存kettle脚本或转换的地方,相当于myeclipes的workspace,另一种保存kettle脚本或流程的方法是需要保存的时候用文件保存,点击另存为出现 (PS:打开kettle的时候加载的也是资源库)
2.2、资源库位置
Tools -> 数据库 -> 连接数据库
2.3、数据库连接
创建数据库连接的时候会同时创建数据库连接? 右键点击新建转换 -> 点击主对象树 -> 右键DB连接 ->新建数据库连接 (PS:创建数据库后可以点击Test 判断数据库连接创建成功了没!,Oracle RAC 环境下的数据库连接创建数据库连接的方法不同)
三、基本操作:
3.1、轮流发送模式和复制发送模式的区别
如果获取的数据必须同时进行多步处理(一种方式是将数据复制后处理,一种是获取的数据进行轮流的间隔处理),设置方式为:选中Data Grid –> 点击右键 –> 数据发送 -> 选择轮流发送模式或复制发送模式
下图为复制处理的方式:红框选中的标签为复制处理
3.2、分离步骤的方法
比如下图中分离出步骤”删除”的方法:选中”删除”->点击右键 -> 点击分离步骤
3.3、过滤错误数据的方法
采集的数据保存到数据库的时候如果有错误就,整个ETL处理流程就会停止,可以用过滤错误的方法将错误的数据写到文本中,保证ETL流程继续执行
步骤:在连接”表输出” 和 “文本文件输出2” 的时候选择”
Error Handing of step” 效果如下图(PS:可以明确是哪个字段,那条数据出现的错误)
3.4、查询步骤中数据详情的方法
比如查看下图中”表输出”步骤的数据情况的步骤: 选中”表输出” -> 点击右键 -> 选择显示输入\\输出字段