Kettle版本:3.2GA
JDK版本:1.6.0_41
OS:NT
由于组件涉及非常多,我这就只举例几个常用的组件来进行介绍。需要了解全部组件下载
本弹给大家详细说明的组件:表输入、获取系统信息、表输出、字符选择、过滤记录、执行SQL语句、设置变量、获取变量
表输入(Table Input)
屏幕截图
图标
功能说明
常用来利用连接和 SQL,从数据库中读取信息。自动生成基本的 SQL语句。
组件说明
选项 | 描述 |
步骤名称 | 步骤的名称,在单一的步骤中,名称必需唯一 |
数据库连接 | 读取数据的数据库连接 |
SQL | SQL 语句用来从数据库连接中读取数据 |
允许延迟加载 | 无 |
替换SQL语句里的变量 | 替换SQL语句中的变量名 |
从步骤插入数据 | 指定我们期待读取数据的步骤名称。这些信息能被插入到 SQL语句 |
记录数限制 | 设置从数据库中读取的行数。0 所有行 |
获取系统信息(GetSystem Info)
屏幕截图
图标
功能说明
这个步骤从 Kettle环境中获取信息。
组件说明
选项 | 描述 |
步骤名称 | 步骤的名称,在单一的步骤中,名称必需唯一 |
名称 | 参数名称 |
类型 | 获取日期、转换信息、命令行参数等。 |
表输出(Table Output)
屏幕截图
图标
功能说明
这个步骤可以存储信息到数据库表中。
组件说明
选项 | 描述 |
步骤名称 | 步骤的名称,在单一的步骤中,名称必需唯一 |
数据库连接 | 用来写数据的数据库连接 |
目标模式 | 要写数据的表的 Schema的名称。允许表名中包含“.”对数据源来说是很重要的。 |
目标表 | 要写数据的表名 |
提交记录数量 | 在数据表中用事务插入行。如果 N比 0大,每 N行提交一次连接。否则,不使用事务,速度会慢一些。 |
裁剪表 | 在插入数据之前清除目标表数据 |
忽略插入错误 | 使 Kettle忽略比喻违反主键约束之类的插入错误,18个警告将被日志记录。在批量插入的时候这个功能不可用。 |
使用批量插入 | 如果你想批量插入的话,就使用这个选项。这个选项的速度最快,默认被选上。 |
表分区数据 | 使用这个选项可以在多个表之间拆分数据。例如用把数据放到表 SALES_200510, SALES_200511,SALES_200512,…中来代替直接插入数据到表 SALES 中。 |
表名定义在一个字段里 | 使用这些选项可以拆分数据到一个或者多个表里,目标表名可以用你指定的字段来定义。例如如果你想存储顾客性别数据,这些数据可能会存储到表 M和表 F里面(female女性和 male男性表)。这个选项可以阻止这些字段插入到对应的表里。 |
返回一个自动产生的关键字 | 往表中插入行时,是否产生一个关键字 |
自动产生关键字的字段名称 | 指定包含关键字的输出字段的字段名称 |
SQL | 根据源表表结构生成自动创建输出表的 SQL脚本 |
字段选择(Select values)
屏幕截图
图标
功能说明
这个步骤常常用来:
选择字段、重命名字段、指定字段的长度或者精度
下面是三个不同标签的功能:
选择和修改:指定需要流到输出流中的字段的精确顺序和名称
删除:指定必须从输出流中删除的字段
元数据:修改元数据字段的名称、类型、长度和精度
组件说明
选项 | 描述 |
步骤名称 | 步骤的名称,在单一的步骤中,名称必需唯一 |
改名:如果不想改名,就使用空白 | |
长度:输入数字指定长度(-1:代表没有长度指定) | |
精度:输入数字指定精度(-1:代表没有精度指定) |
过滤记录(Filterrows)
屏幕截图
图标
功能说明
这个步骤允许你根据条件和比较符来过滤记录。一旦这个步骤连接到先前的步骤中,你可以简单的单击“<field>”“=”和“<value>”,区域来构建条件
组件说明
选项 | 描述 |
步骤名称 | 步骤的名称,在单一的步骤中,名称必需唯一 |
发送“true”数据给步骤:指定条件返回 true的数据将发送到此步骤。 | |
发送“false”数据给步骤:指定条件返回 false的数据将发送到此步骤。 |
执行SQL语句(ExecuteSQL script)
屏幕截图
图标
功能说明
在这个步骤中你可以执行 SQL脚本
组件说明
选项 | 描述 |
步骤名称 | 步骤的名称,在单一的步骤中,名称必需唯一 |
执行每一行 | 步骤的每一个输入行执行 |
变量替换 | 可以在 SQL脚本中使用参数 |
设置变量(SetVariable)
屏幕截图
图标
功能说明
这个步骤允许你在一个任务中或者虚拟机中设置变量。它仅仅可以用一行数据来设置变量值。
下面是可以用的范围设定:
Valid in the virtual machine:整个虚拟机将知道那个变量,仅可以在单机模式下运行。
Valid in the parent job:变量仅在父任务中合法的。
Valid in the grand-parent job:变量仅在祖父任务中合法的。
Valid in the root job: 变量仅在根任务中合法的。
获取变量(GetVariable)
屏幕截图
图标
功能说明
这个步骤允许你获取一个变量,它可以返回行或者附加值到输入行。
备注:你需要指定完整的变量格式${variable}或者%%variable%%。
如须了解更多组件使用方法