我正在对Pentaho数据集成进行转换,我在SFTP服务器的目录中有一个文件列表。这个文件以FILE_YYYYMMDDHHIISS.txt格式命名,我的目录看起来像这样:
我的问题是我需要根据其创建日期获取此列表的最后一个文件,以将其传递给其他转换步骤...
如何在Pentaho数据集成中执行此操作?
答案 0 :(得分:4)
实际上这很简单,因为您的文件名可以按文本排序,排序列表中的最大值将是您最近的文件。
由于文件列表可能很短,您可以使用Memory Group by
步骤。分组步骤需要一个单独的列来进行聚合。如果您只有列,并且想要在整个集合中找到最大值,则可以添加具有Add Constants
步骤的分组列,并将其配置为添加一个列,例如每行中的整数1。 / p>
将您的Memory Group by
配置为1s列上的组,并使用文件名列作为主题。然后只需选择最大分组类型。这将生成包含分组列的单行,删除文件名字段以及包含最大文件名的聚合列。它看起来像这样: