首页 > 解决方案 > Talend - 从 tLogRow/tSort 中提取文件名

问题描述

我是 Talend 的新手,只是想努力解决它。

问题陈述 我需要从文件列表中处理一个位置文件。需要首先识别最新的文件,然后只处理那个文件。我能够识别出最新的文件。然后我能够创建另一个处理位置文件的流程。问题是将这两个流程结合起来,以便我能够识别最新的文件并只处理那个文件。

到目前为止尝试 过 一直在尝试从目录中的列表中提取最新的文件。遍历所有文件,将它们的属性保留在缓冲区中。该子任务完成后,读取缓冲区,按mime 降序排序,提取顶部记录并能够使用tLogRow 打印它。

一切似乎都很好,只是我现在不知道如何将文件名用于下一个任务。

我确信这是非常初级的,但老实说,我已经有一段时间了,我一直在搜索互联网/帮助,但没有成功。

任何指针都会有所帮助。

附上作业流程供您参考。

在此处输入图像描述

标签: talend

解决方案


首先,您可以通过使用tFileList的功能来简化您的工作。它可以按修改日期对文件进行排序:

在此处输入图像描述

接下来,使用tIterateToFlow将每次迭代转换为一行:

(String)globalMap.get("tFileList_1_CURRENT_FILEPATH")

并且tSampleRow范围为“1”,以获取最新文件。

然后将结果存储在全局变量中。在下一个子作业中,只需使用该全局变量作为tFileInputPositional.

在此处输入图像描述


推荐阅读