kettle开发篇-参数-Day34

241 阅读2分钟

前言:

昨天我们讲了作业,通过作业我们就能让转换按顺序执行,作业包括作业项、作业跳,通过作业跳来控制作业项是无条件执行,还是当作业项执行结果为True时,怎么执行,为false时怎么执行。今天我们讲下kettle里面的参数。参数是kettle中一个很重要的部分,可以用来传统条件或者过滤条件等。

一、参数

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

全局参数定义是通过当前用户下.kettle文件夹中的kettle.properties文件来定义。 定义方式是采用键=值对方式来定义,如:start_date=20230101,就说明我们定义了一个start_date的全局参数,对应值为20230101,需要注意的是配置全局变量时需要重启kettle才会生效。 image.png

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

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

二、任务实操

从kettle.properties文件中读取STARTROW和PAGESIZE参数,从t_orders表中获取数据,使用参数传递。 image.png

我们的实现过程包括,修改kettle.properties文件,使用变量STARTROW和PAGESIZE的值。 表输入应用STARTROW和PAGESIZE变量,连接文本文件输出或者Excel输出来查看输出结果。 注意我们需要重启后,再执行我们的转换。 image.png

对应kettle.properties文件位于.kettle目录下。 image.png

引用参数设置 image.png