Kettle合并记录、全局参数和局部参数、常量传递、转换命名参数

一、Kettle合并记录

合并记录是用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。

标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。

  • identical:旧数据和新数据一样
  • changed:数据发生了变化
  • new:新数据中有而旧数据中没有的记录
  • deleted:旧数据中有而新数据中没有的记录

关键字段:用于定位两个数据源中的同一条记录。
比较字段:对于两个数据源中的同一条记录,指定需要比较的字段。

合并后的数据将包括旧数据来源和新数据来源里的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标示字段,来指定新旧数据的比较结果。

注意:
旧数据和新数据需要事先按照关键字段排序。
旧数据和新数据要有相同的字段名称。

在这里插入图片描述
合并记录设置:
studentname用于定位两个数据源中的同一条记录。
在这里插入图片描述

旧数据源数据如下:
在这里插入图片描述
新数据源数据如下:
新数据去掉了studentname为张飞的数据,增加了studentname为诸葛亮的新数据,修改了studentname为赵云的数据
在这里插入图片描述
合并记录后数据情况如下:

在这里插入图片描述

过滤记录设置
只保留flagfield为new的数据
在这里插入图片描述
过滤后数据如下:

在这里插入图片描述

二、全局参数和局部参数

1.全局参数

全局参数定义是通过当前用户下.kettle文件夹中的kettle.properties文件来定义的。

定义方式是采用键=值对方式来定义,如:start_date=20201016

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

2.局部参数

局部参数变量是通过"Set Variables"与"Get Variables"方式来设置。
注意:在"Set Variables"时在当前转换当中是不能马上使用,需要在作业中的下一步骤中使用。

3.参数的使用

Kettle中参数使用方法有两种:一种是%%变量名%%,一种是${变量名}。
注意:在SQL中使用变量时需要把“是否替换变量”勾选上,否则无法使变量生效。

三、常量传递

常量传递就是先自定义常量数据,在表输入的SQL语句里面使用?来替换。

注意:?号的替换顺序就是常量定义的顺序。
在这里插入图片描述

表输入设置
获取常量:得到数据最早时间
在这里插入图片描述
在这里插入图片描述

表输入2设置:
根据得到的时间常量参数,拉出大于时间常量参数的数据
在这里插入图片描述
在这里插入图片描述

四、转换命名参数

转换命名参数就是在转换内部定义的变量,作用范围是在转换内部。

在转换的空白处右键,选择转换设置就可以看见。

在这里插入图片描述
转换命名参数设置
在这里插入图片描述
在这里插入图片描述
获取转换命名参数的值
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐骑行^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值