首页 > 解决方案 > 如何在将 tdbinput(数据库)查询到全局变量后捕获列的结果以供以后在 talend 中使用

问题描述

在 talend 工作中,我想从表中提取所有列的值并存储到每个全局变量中,然后使用它来执行其他操作。

tdbinput1 有以下查询:

"SELECT   a.FILE_NAME,  a.FILE_DATE,a.file_size
--into context.dbfile_name,context.dbfile_size 
FROM FILE a
LEFT JOIN DIR b ON a.DIRID=b.DIRID
LEFT JOIN LOAD c ON a.LOADID=c.LOADID "

使用存储过程提取后,需要将表中的逐行数据插入到另一个表中。

我关心的是如何捕获查询本身中的所有列值?或者唯一的另一种方法是使用 tjavarow 和 globalmap 变量,如下所示:?

tjavarow:

globalMap.put("FILE_NAME", input_row.FILE_NAME);
globalMap.put("FILE_DATE", input_row.FILE_DATE);

数据流如下所示:

在此处输入图像描述

标签: javascriptjavadatabaseglobal-variablestalend

解决方案


我认为 tHashOutput / tHashInput 组件可能最适合您。它们允许您将数据存储在缓存中并在您的工作中进一步重用它。签入项目属性/设计器/调色板,因为这些组件默认隐藏。


推荐阅读