在Pentaho中的不同数量的文件上迭代输入步骤

在Pentaho中的不同数量的文件上迭代输入步骤,pentaho,pentaho-spoon,pentaho-data-integration,Pentaho,Pentaho Spoon,Pentaho Data Integration,我有一个get file names步骤,其中有一个正则表达式,可以获取4个csv文件。 之后,我有一个文本文件输入步骤,设置csv的字段,并读取这些文件 完成此步骤后,将执行表输出步骤 问题是文本文件输入似乎在一条语句中读取了所有4个文件,因此表输出语句插入了4个文件的行。因此,我的输出表有20行(每个文件5行) 预期的结果是读取一个文件,在输出表中插入文件的5行,并执行sql脚本,该脚本将此表移动到最终表并截断临时表。现在对第二个、第三个和最后一个文件重复此过程 加载文件的每个步骤都会删除临

我有一个
get file names
步骤,其中有一个正则表达式,可以获取4个csv文件。 之后,我有一个
文本文件输入
步骤,设置csv的字段,并读取这些文件

完成此步骤后,将执行
表输出
步骤

问题是
文本文件输入
似乎在一条语句中读取了所有4个文件,因此
表输出
语句插入了4个文件的行。因此,我的输出表有20行(每个文件5行)

预期的结果是读取一个文件,在输出表中插入文件的5行,并执行sql脚本,该脚本将此表移动到最终表并截断临时表。现在对第二个、第三个和最后一个文件重复此过程

加载文件的每个步骤都会删除临时表,但最终表不会删除,它是增量的


如何在pentaho中执行此操作?

将当前作业更改为对每个传入记录执行一次的subjob

在新的主要工作中,您需要:

  • 运行“获取文件名”链接以将行复制到结果的转换
  • 包含当前作业的作业条目。将其配置为针对每行执行
在subjob中,您必须将Get文件名替换为Get Rows from Result,并重新配置包含文件名的字段