作业和转换中都可以使用变量,变量分全局和运行时两种,全局定义在kettle.properties文件中,在spoon中就可以改,运行时变量可以作为参数传入,也可以在运行定义赋值,变量的作用域分JVM,和作业级,转换内的变量相当于常量,值是不能动态改的。因为转换是各步骤并行,不是按顺序执行,机制决定了如此,想要达到这效果要作业+转换组合实现。
变量可以在任意带有<$>这样图标的输入框中使用${xxx}方式获取,全局变量可以通ctrl+alt+space组合按键展开,第一个是常用的${Internal.Transformation.Filename.Directory}变量,含义是当前转换所在路径。变量还可以由“获取变量”步骤获取,JS脚本里也可以通过getVariable("varname", "")方式获取。
一些SQL语句的输入框中,都可以使用${xxx}这种形式的变量,以实现拼SQL的目的,但尽量使用绑定变量,这根程序开发时原则一样。
本文深入解析Kettle中变量的使用,包括全局与运行时变量的区别,作用域的设定,以及如何在转换和作业中利用变量实现动态配置。探讨了变量在SQL语句中的应用及最佳实践。
1万+

被折叠的 条评论
为什么被折叠?



