前言:
昨天我们讲了作业,通过作业我们就能让转换按顺序执行,作业包括作业项、作业跳,通过作业跳来控制作业项是无条件执行,还是当作业项执行结果为True时,怎么执行,为false时怎么执行。今天我们讲下kettle里面的参数。参数是kettle中一个很重要的部分,可以用来传统条件或者过滤条件等。
一、参数
参数对于ETL参数传递是一个很重要的环节,因为参数的传递会涉及到业务数据是如何抽取。 参数分为两种:全局参数和局部参数。
全局参数定义是通过当前用户下.kettle文件夹中的kettle.properties文件来定义。 定义方式是采用键=值对方式来定义,如:startdate=20230101,就说明我们定义了一个startdate的全局参数,对应值为20230101,需要注意的是配置全局变量时需要重启kettle才会生效。
局部参数 局部参数变量是通过Set Variables与Get Variables方式来设置。 注意:在Set Variables时在当前转换当中不能马上使用,需要在作业中的下一个步骤中使用。
我们引用参数有两种方式:一种是%%变量名%%,一种是${变量名}。 需要注意的是:在SQL中使用变量时需要把“是否替换变量”勾选上,否则无法使变量生效。
二、任务实操
从kettle.properties文件中读取STARTROW和PAGESIZE参数,从t_orders表中获取数据,使用参数传递。
我们的实现过程包括,修改kettle.properties文件,使用变量STARTROW和PAGESIZE的值。 表输入应用STARTROW和PAGESIZE变量,连接文本文件输出或者Excel输出来查看输出结果。 注意我们需要重启后,再执行我们的转换。
对应kettle.properties文件位于.kettle目录下。
引用参数设置