Kettle 学习笔记2

495 阅读3分钟

Kettle 学习笔记2

应用控件

  1. 替换NULL 值

  2. 写日志

  3. 发送邮件

    只有企业邮箱才可以,并且需要在邮件设置中开通客户端授权码

    SMTP服务器: smtp.263.net | 端口:25

流程控件

流程主要是用来控制数据流程和数据流向

  1. Switch case

    Case 值数据类型:要判断值的数据类型

    Case 值:分支路径 - 目标步骤名称要写正确

  2. 过滤记录

    过滤可以让数据流从一路到两路

    [ IS NOT NULL ]

  3. 空操作

    一般作为数据流的终点

  4. 中止

    数据流的终点,如果有数据到这里,将会报错

    用来校验数据的时候使用

查询控件

查询是用来查询数据源里的数据并合并到主数据流中

  1. HTTP Client

    Http client 是用Get的方式提交请求,获取返回的页面内容

    URL:直接输入路径

  2. 数据库查询

    数据库查询就是数据库里面的左连接

  3. 数据库连接

  4. 流查询

    流查询在查询前把数据都加载到内存中,并且只能进行等值查询

连接控件

  1. 合并记录

    将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据。新旧数据都需要事先按照关键字排序,两个数据源都要有相同的字段名称。

    标志字段:设置标志字段的名称,标志字段用于保存比较的结果

    • identical
    • changed
    • new
    • deleted
  2. 记录关联(笛卡尔积)

  3. 记录集连接

    类似于LEFT JOIN, FULL OUTER JOIN

    在进行记录集连接之前,应该要对记录集进行排序

统计控件

统计是提供数据的采样和统计功能

  1. 分组

    分组之前数据应该进行排序

    分组时按照某一个或某几个进行分组,同时可以将其余字段按照某种规则进行合并

脚本控件

脚本就是直接通过程序代码完成一些复杂的操作

  1. JavaScript 脚本

  2. Java 脚本

  3. SQL 脚本

作业和参数

作业

因为转换以并行的方式执行,因此需要一个可以串行执行的作业来处理这些操作。

因此作业顺序执行作业项,所以必须定义一个起点 "开始"

参数

参数分类

全局参数:通过当前用户.kettle 文件夹中 kettle.properties 文件来定义

[ 定义方式是采用 键 = 值对方式来定,如:start_date = 20130101 ]

局部参数:通过 "Set Variable" 与 "Get Variable" 方式来设置

参数的使用

Kettle中参数使用方法有两种,一种是 %%变量名%%,一种是${变量名}

[ 在SQL 中使用变量时需要把 ”是否替换变量“ 勾选上]

表输入参数传递-常量传递

表输入参数传递-变量传递- 转换命名参数

设置变量和获取变量

表输入参数传递-变量传递-作业里设置变量

发送邮件