您可以使用 tFileList 组件,它将迭代给定目录中的所有文件。
您可以检查组件功能here
简单的概念就是,
- 当目录中有文件说Folder1时,将该文件移动到另一个位置,例如Folder2。
- 再次处理Folder2中的文件后,检查Folder1,即任何新文件到达。
- 如果到达,则再次将该文件移至Folder2并进行处理。
- 如果没有新文件,请结束工作。
在Talend中执行此操作的一个好方法是设置文件观察程序作业,这很容易。 Talend提供了tWaitForFile组件,它将查看文件目录。您可以配置查找文件的最大迭代次数以及轮询/扫描之间的时间。由于您说您正在加载大型文件,因此为了避免数据库并发问题,请在扫描之间留出足够的时间来解决此问题。
在下面的示例中,我正在查看新文件的目录,在8小时内每60秒扫描一次。您可能希望在TAC或您使用的任何计划工具中安排作业。在我的示例中,我只需加入tJavaRow并显示有关找到的文件的信息。
你可以在这里看到我的tJavaRow的输出,它显示了文件信息: