美文网首页数仓ETL工具之Kettle
Kettle12:Kettle作业和参数

Kettle12:Kettle作业和参数

作者: 勇于自信 | 来源:发表于2021-05-16 20:19 被阅读0次

    本章讲解的作业和参数有如下几个案例
    01 作业
    02 参数
    03 表输入参数传递-常量传递
    04 表输入参数传递-变量传递-转换命名参数
    05 表输入参数传递-变量传递-转换内设置变量和获取变量
    06 表输入参数传递-变量传递-作业里设置变量
    07 发送邮件

    1.作业

    作业简介

    大多数ETL项目都需要完成各种各样的维护工作。

    例如,如何传送文件;验证数据库表是否存在,等等。而这些操作都是按照一定顺序完成。因为转换以并行方式执行,就需要一个可以串行执行的作业来处理这些操作。

    一个作业包含一个或者多个作业项,这些作业项以某种顺序来执行。作业执行顺序由作业项之间的跳(job hop)和每个作业项的执行结果来决定。


    作业项

    作业项是作业的基本构成部分。如同转换的步骤,作业项也可以使用图标的方式图形化展示。

    但是,如果你再仔细观察,还是会发现作业项有一些地方不同于步骤:
    在作业项之间可以传递一个结果对象(result object)。这个结果对象里面包含了数据行,它们不是以数据流的方式来传递的。而是等待一个作业项执行完了,再传递个下一个作业项。

    因为作业顺序执行作业项,所以必须定义一个起点。有一个叫“开始”的作业项就定义了这个点。一个作业只能定一个开始作业项。

    作业跳

    作业的跳是作业项之间的连接线,他定义了作业的执行路径。作业里每个作业项的不同运行结果决定了做作业的不同执行路径。

    ①无条件执行:不论上一个作业项执行成功还是失败,下一个作业项都会执行。这是一种蓝色的连接线,上面有一个锁的图标。

    ②当运行结果为真时执行:当上一个作业项的执行结果为真时,执行下一个作业项。通常在需要无错误执行的情况下使用。这是一种绿色的连接线,上面有一个对钩号的图标。

    ③当运行结果为假时执行:当上一个作业项的执行结果为假或者没有成功执行是,执行下一个作业项。这是一种红色的连接线,上面有一个红色的停止图标。

    在图标上单击就可以对跳进行设置。

    作业
    通用



    案例:
    先从Excel读取数据,保存到Excel,再从文本文件中读取数据保存到Excel,如果产生错误就发送邮件,并且停止作业,如果成功发送成功邮件

    分析:
    作业:开始,转换1,转化2,发送邮件,停止

    转换1:
    输入:Excel输入
    输出:Excel输出

    转换2:
    输入:文本文件输入
    输出:Excel输出


    2.参数

    简介

    1.对于ETL参数传递是一个很重要的环节,因为参数的传递会涉及到业务数据是如何抽取。
    2.参数分为两种:全局参数和局部参数。

    全局参数

    1.全局参数定义是通过当前用户下.kettle文件夹中的kettle.properties文件来定义。
    2.定义方式是采用键=值对方式来定,如:start_date=20130101

    注:在配置全局变量时需要重启Kettle才会生效。

    局部参数

    局部参数变量是通过“Set Variables”与“Get Variables”方式来设置。

    注:在“Set Variables”时在当前转换当中是不能马上使用,需要在作业中的下一步骤中使用。

    参数的使用

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

    注:在SQL中使用变量时需要把“是否替换变量”勾选上,否则无法使变量生效。

    案例:
    从kettle.properties文件中读取STARTROW和PAGESIZE参数,从t_orders表中获取数据数据,使用参数传递



    分析:
    ①编辑.kettle目录下的kettle.properites文件,输入key=value
    输入:表输入
    输出:文本文件输出
    ②重启,运行看效果


    3.常量传递

    简介
    1. 常量传递就是先自定义常量数据,在表输入的SQL语句里面使用?来替换。
    2. ?号的替换顺序就是常量定义的顺序。

    案例:
    自定义常量数据id1=10和id2=3,从t_users表中获取数据,满足条件id<id1和id>id2,后续不要只想任何操作
    分析:
    输入:自定义常量数据、表输入
    流程:空操作


    4.转换命名参数

    1.转换命名参数就是在转换内部定义的变量,作用范围是在转换内部。
    2.在转换的空白处右键,选择转换设置就可以看见。


    案例:
    设置转换命名参数id1=10和id2=3,从t_users表中获取数据,满足条件id<id1和id>id2,后续不要只想任何操作
    分析:
    输入:表输入
    流程:空操作


    5.设置变量-获取变量

    简介

    在转换里面有一个作业分类,里面有设置变量和获取变量的步骤。

    注意:“获取变量”时在当前转换当中是不能马上使用,需要在作业中的下一步骤中使用!


    设置变量



    获取变量


    案例:
    在一个转换里面设置变量id1和id2,在另外一个转换里面获取变量id1和id2, 从t_users表中获取数据,满足条件id<id1和id>id2,把数据输出到Excel。
    分析:
    作业:start、转换
    转换:
    设置变量
    获取变量、表输入、Excel输出


    6.设置变量

    简介

    变量可以在转换里面设置,也可以在作业里面设置。


    设置变量


    案例:
    在作业里面设置变量id1和id2,在转换以两种不同的方式进行变量替换:
    ①先获取变量,再进行步骤替换
    ②直接变量替换
    都是从t_users表中获取数据,满足条件id<id1和id>id2,把数据输出到Excel。
    分析:
    作业:start、设置变量、转换
    转换:
    获取变量、表输入、Excel输出
    表输入、Excel输出


    7.发送邮件

    发送邮件就是执行成功、失败、其它某种情景给相关人员发送邮件。

    注意:
    只有企业邮箱才可以!个人邮箱不行!
    并且需要在邮件设置中开通客户端授权码!

    发送邮件



    案例:发送一封邮件
    分析:
    应用:发送邮件


    相关文章

      网友评论

        本文标题:Kettle12:Kettle作业和参数

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