【Kettle从零开始】第五弹之Kettle转换中常用组件介绍

来源:互联网 发布:关于网络 编辑:程序博客网 时间:2024/06/05 08:03

Kettle版本:3.2GA

JDK版本:1.6.0_41

OSNT

由于组件涉及非常多,我这就只举例几个常用的组件来进行介绍。需要了解全部组件下载

Kettle用户手册下载 

本弹给大家详细说明的组件:表输入、获取系统信息、表输出、字符选择、过滤记录、执行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_200511SALES_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%%

 

 

如须了解更多组件使用方法

下载Kettle用户手册

2 0