ETL kettle 从上一步传来的参数使用

2025-02-12 02:38:12
推荐回答(3个)
回答1:

你的意思是从一个表里面查到2列数值,然后想把这2列作为下一个SQL的where条件吧?

第一步:变量和目标表的准备

这个对应于你说的2列变量值

这个是我在数据库里面创建的一张student表  对应字段  id   name   score

 

第二步:搭建处理环境

在这儿  where条件里的第一个问号对应的是传过来的第一个参数(ID)  第二个问号对应的是传过来的第二个参数(NAME)   PS:要是你把SQL写成  where name = ? and id = ?就会出错的。

勾选“替换SQL语句里的变量“和”执行每一行“ 。

拓扑图如下:

结果如下:

回答2:

要使用从上一步传来的参数,只要在使用SQL进行引用就可以。

ps:对应的拓扑结构:

ETL:

是“Extract、 Transform 、Load”的缩写,也就是代表ETL过程的三个最主要步骤:“抽取、转换、装载”,但我们平时往往简称其为数据抽取。

Kettle:

是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

回答3:

第一步查到的两列定义为变量,往第二步传递,然后在第二步sql里面进行引用即可。