Kettle--作业和参数

1 Job(作业)

  • 大多数ETL项目都需要完成各种各样的操作,例如:
  • 如何传送文件
  • 验证数据库表是否存在,等等
  • 而这些操作都是按照一定顺序完成,Kettle中的作业可以串行执行转换来处理这些操作。
  • 配置作业
    在这里插入图片描述

Job Item(作业项)

  • 作业展示图在这里插入图片描述
  • 作业顺序执行作业项,必须定义一个起点
  • 有一个「start」的作业项专门用来定义起点
  • 一个作业只能定一个开始作业项

Job Hop(作业跳)

  • Job Hop是作业项之间的连接线定义了作业的执行路径,作业里每个作业项的不同运行结果决定了作业的不同执行路径。以下为 Job Hop的几种执行方式:

1、无条件执行

  • 不论上一个作业项执行成功还是失败,下一个作业项都会执行
  • 蓝色的连接线,上面有一个锁的图标
    在这里插入图片描述

2、当运行结果为真时执行

  • 当上一个作业项的执行结果为真时,执行下一个作业项
  • 通常在需要无错误执行的情况下使用
  • 绿色的连接线,上面有一个对钩号的图标。
    在这里插入图片描述

3、当运行结果为假时执行

  • 当上一个作业项的执行结果为假或者没有成功执行时,执行下一个作业项
  • 红色的连接线,上面有一个红色的停止图标
    在这里插入图片描述

作业示例

  • 需求:
    • 先从 Excel输入.xlsx读取数据,保存到Excel
    • 再从 文本文件输入.txt 文本文件中读取数据,保存到Excel
    • 启动作业执行
      • 执行错误,显示执行错误消息框
      • 执行成功,显示执行成功消息框
  • 实现步骤:
  • 1、设计转换结构1(从Excel读取数据,保存到Excel)
    在这里插入图片描述
  • 2、设计转换结构1(从文本文件中读取数据,保存到Excel)在这里插入图片描述
  • 3、设计作业结构(先执行转换结构1、再执行转换结构2)
    在这里插入图片描述
  • 4、运行测试
  • 5、错误测试
  • 将第一个转换结构直接终止,并配置抛出一个错误在这里插入图片描述
    在这里插入图片描述

2 参数

参数的使用

  • 对于ETL参数传递是一个很重要的环节,因为参数的传递会涉及到业务数据是如何抽取

转换命名参数

  • 转换命名参数就是在转换内部定义的变量,作用范围是在转换内部
  • 在转换的空白处双击左键,在转换属性中能看到
  • 可以在表输入 SQL语句中使用 ${变量名} 或者 %%变量名%% 直接引用
    在这里插入图片描述

参数示例

  • 需求:
    • 设置转换命名参数 default_province = 北京市
    • 从t_user表中获取数据,满足条件 province=default_province,后续不要执行任何操作
  • 实现步骤:
  • 1、设计以下转换组件结构图
    在这里插入图片描述
  • 2、配置转换命名参数
    在这里插入图片描述
  • 3、配置表输入组件
    在这里插入图片描述
  • 4、执行转换
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值