Kettle 学习笔记2
应用控件
-
替换NULL 值
-
写日志
-
发送邮件
只有企业邮箱才可以,并且需要在邮件设置中开通客户端授权码
SMTP服务器: smtp.263.net | 端口:25
流程控件
流程主要是用来控制数据流程和数据流向
-
Switch case
Case 值数据类型:要判断值的数据类型
Case 值:分支路径 - 目标步骤名称要写正确
-
过滤记录
过滤可以让数据流从一路到两路
[ IS NOT NULL ]
-
空操作
一般作为数据流的终点
-
中止
数据流的终点,如果有数据到这里,将会报错
用来校验数据的时候使用
查询控件
查询是用来查询数据源里的数据并合并到主数据流中
-
HTTP Client
Http client 是用Get的方式提交请求,获取返回的页面内容
URL:直接输入路径
-
数据库查询
数据库查询就是数据库里面的左连接
-
数据库连接
-
流查询
流查询在查询前把数据都加载到内存中,并且只能进行等值查询
连接控件
-
合并记录
将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据。新旧数据都需要事先按照关键字排序,两个数据源都要有相同的字段名称。
标志字段:设置标志字段的名称,标志字段用于保存比较的结果
- identical
- changed
- new
- deleted
-
记录关联(笛卡尔积)
-
记录集连接
类似于LEFT JOIN, FULL OUTER JOIN
在进行记录集连接之前,应该要对记录集进行排序
统计控件
统计是提供数据的采样和统计功能
-
分组
分组之前数据应该进行排序
分组时按照某一个或某几个进行分组,同时可以将其余字段按照某种规则进行合并
脚本控件
脚本就是直接通过程序代码完成一些复杂的操作
-
JavaScript 脚本
-
Java 脚本
-
SQL 脚本
作业和参数
作业
因为转换以并行的方式执行,因此需要一个可以串行执行的作业来处理这些操作。
因此作业顺序执行作业项,所以必须定义一个起点 "开始"
参数
参数分类
全局参数:通过当前用户.kettle 文件夹中 kettle.properties 文件来定义
[ 定义方式是采用 键 = 值对方式来定,如:start_date = 20130101 ]
局部参数:通过 "Set Variable" 与 "Get Variable" 方式来设置
参数的使用
Kettle中参数使用方法有两种,一种是 %%变量名%%,一种是${变量名}
[ 在SQL 中使用变量时需要把 ”是否替换变量“ 勾选上]
表输入参数传递-常量传递
表输入参数传递-变量传递- 转换命名参数
设置变量和获取变量
表输入参数传递-变量传递-作业里设置变量
发送邮件