0
点赞
收藏
分享

微信扫一扫

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



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

  • 一、Kettle合并记录
  • 二、全局参数和局部参数
  • 1.全局参数
  • 2.局部参数
  • 3.参数的使用
  • 三、常量传递
  • 四、转换命名参数


一、Kettle合并记录

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

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

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

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

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

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

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


合并记录设置:

studentname用于定位两个数据源中的同一条记录。

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

旧数据源数据如下:

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


新数据源数据如下:

新数据去掉了studentname为张飞的数据,增加了studentname为诸葛亮的新数据,修改了studentname为赵云的数据

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


合并记录后数据情况如下:

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

过滤记录设置

只保留flagfield为new的数据

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


过滤后数据如下:

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

二、全局参数和局部参数

1.全局参数

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

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

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

2.局部参数

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

3.参数的使用

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

三、常量传递

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

注意:?号的替换顺序就是常量定义的顺序。

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

表输入设置

获取常量:得到数据最早时间

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


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

表输入2设置:

根据得到的时间常量参数,拉出大于时间常量参数的数据

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


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

四、转换命名参数

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

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

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


转换命名参数设置

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


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


获取转换命名参数的值

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


举报

相关推荐

0 条评论