Kettle组件学习

2017-05-12  本文已影响0人  seanz930

Add sequence

增加新的一列,类似于DB的ID,可按要求自增。属性中Counter name来区分计数器,同一个transformation中的相同计数器的计数是唯一的。若统一数据源分别交由多个Add sequence组件,则这些组件均分数据源中的数据处理。

Add value fields changing sequence

根据指定的列来进行add sequence操作,类似于Sql Server中row_number()函数,根据partition by的值来分组。

Generate random value

在源数据基础上增加一列,按照要求生成随机的值,值的类型多样,不仅限于数字。

图1

Join rows

根据条件join数据源。

Analytic query

可以查找数据流中的前面行或后面行,并且取值到当前行。两种方法:
LEAD "N" rows FORWARD and get Subject ---去后第N行的数据
LAG "N" rows BACKWARD in get Subject ---取前第N行的数据

Append streams

类似DB中union操作,要求数据源的列相同,包括各列的类型。
数据源只能是2个。

Value mapper

进行值的映射,例如根据文件的扩展名来决定文件的类型,所得结果会以所命名新字段的形式输出。若图中Target field name留空,则会覆写Fieldname to use所输入字段中的值。

图2

Select/Rename values

对input的值进行筛选,重命名等操作。

Delay row

等待一定时间后继续执行。

Block this step until steps finish

等待制定step完成后继续执行。

Group by/Memory Group by (区别?)

聚合函数,可生成聚合结果,例如中位数,平均数,百分数等

图3

Calculator

数学计算。

CSV file import

csv文件的导入,可能存在错误情况,可用error handler进行处理。

Filter rows

根据预设条件对input进行筛选。

Data Validator

根据条件对input的值进行验证。拥有多种预设验证规则

图4

也可以引入其他step的输出进行值匹配验证

图5

Row denormaliser

将行数据转换为列数据,选定分组的列名,设定转换后的列名。例如:

图6-1 源数据 图6-2 转换结果 图6-3 Row denormaliser设置

The key field作为新列的关键字段,以其中的值作为转换后新列的列名。根据选定的列进行分组,图中所示为code和year两列。另需选定新字段的值,一般为剩下的源数据列。可根据需要选择聚合函数进行聚合操作分析。

Unique rows

进行distinct rows的统计。

上一篇 下一篇

猜你喜欢

热点阅读