美文网首页
Kettle组件学习

Kettle组件学习

作者: seanz930 | 来源:发表于2017-05-12 17:32 被阅读0次

    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的统计。

    相关文章

      网友评论

          本文标题:Kettle组件学习

          本文链接:https://www.haomeiwen.com/subject/vuyztxtx.html