在 Talend 中如何获取最新文件

问题描述 投票:0回答:4

我有三个具有相同架构的文件,

A1(file) received at 12:30:000.00,
A2(file) received at 12:35:000.00,
A3(file) received at 12:40:000.00.

现在我想获取最新的文件,即A3。

注意:我使用 tfilelist 组件来获取文件。

talend
4个回答
2
投票

tFileList 的 Talend 文档

订购方式:

按修改日期:从最近到最近或从最近到最近。

Talend 知识库包含大量有关组件的信息。此外,如果您稍微检查一下,这些组件本身就说明了一切。


1
投票

tFileList --> tFileProperties --> tJavaRow

  • tFileList 迭代文件列表
  • tFileProperties 获取文件属性
  • tJavaRow 保存 mtime 字段最大值的文件的文件路径(使用全局变量)

之后,tFileInputDelimited 使用全局变量作为文件名


0
投票

您可以使用以下组件创建作业:

tFileList -> tFileProperties -> tAggregateRow -> tLogRow(或任何输出组件)

tFileList
中提供目录路径。

tFileProperties
包含与文件属性相对应的模式,如基本名称、修改时间、绝对路径等。

tFileProperties
中传递文件路径的全局变量,即
((String)globalMap.get("tFileList_1_CURRENT_FILEPATH"))

在“操作”部分下的

tAggregaterow
中,选择要显示的列并对
mtime_string
列使用 Max 函数。


0
投票

Talend - 从每个目录获取最新文件

请查看 YouTube 以供参考,以下是高级步骤。

https://youtu.be/_3UQfjtaYlg

  1. 使用 tFilelist 获取目录列表。
  2. 对于每个目录 - 使用 tFilelist 列出所有文件
  3. 为文件夹中的每个文件分配编号 - 使用序列号
  4. 获取 seq no 1 的最新文件并使用 tFileoutputdelimited 将文件路径写入新文件
  5. 读取具有要处理的文件路径的文件名,并使用 tFileinputdelimited 处理每个文件
© www.soinside.com 2019 - 2024. All rights reserved.