如何一个接一个地处理talend中的多个文件,文件的大小太大?

时间:2016-11-02 05:00:58

标签: talend

我想使用talend和一个接一个地处理多个文件,文件的大小很大,如果另一个文件进入该目录,则处理一个文件时它也必须处理该文件。 有没有办法可以这样做,请你建议一下?

2 个答案:

答案 0 :(得分:0)

您可以使用 tFileList 组件,它将迭代给定目录中的所有文件。

您可以检查组件功能here

简单的概念就是,

  • 当目录中有文件说Folder1时,将该文件移动到另一个位置,例如Folder2。
  • 再次处理Folder2中的文件后,检查Folder1,即任何新文件到达。
  • 如果到达,则再次将该文件移至Folder2并进行处理。
  • 如果没有新文件,请结束工作。

答案 1 :(得分:0)

在Talend中执行此操作的一个好方法是设置文件观察程序作业,这很容易。 Talend提供了tWaitForFile组件,它将查看文件目录。您可以配置查找文件的最大迭代次数以及轮询/扫描之间的时间。由于您说您正在加载大型文件,因此为了避免数据库并发问题,请在扫描之间留出足够的时间来解决此问题。

在下面的示例中,我正在查看新文件的目录,在8小时内每60秒扫描一次。您可能希望在TAC或您使用的任何计划工具中安排作业。在我的示例中,我只需加入tJavaRow并显示有关找到的文件的信息。

enter image description here

你可以在这里看到我的tJavaRow的输出,它显示了文件信息:

enter image description here