0

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

完成此步骤后,Table output将执行一个步骤。

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

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

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

我怎么能在pentaho中做到这一点?

4

1 回答 1

1

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

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

  • 运行获取链接到将行复制到结果的文件名的转换
  • 包含您当前工作的工作条目。将其配置为对每一行执行。

在子作业中,您必须将 Get Filenames 替换为 Get Rows from Result 并重新配置包含文件名的字段。

于 2017-05-24T11:56:21.747 回答