Talend获取当前文件名

时间:2018-11-19 22:57:00

标签: filenames talend

我想将excel文件加载到mysql数据库中并检查它们是否不存在,我的问题是我无法提取当前文件的名称。

例如,我有以下文件A.xlsxB.xlsxC.xls

它总是返回B.xlsx

enter image description here

2 个答案:

答案 0 :(得分:0)

我认为您遇到的问题是您的“ RunIf”链接位于迭代器之前,因此未在正确的时间触发。

下图显示了简化的版本,其中列出了电子表格中的行,然后列出了文件名。如果像您在问题中所做的那样,将第二个子作业连接到tFileList_1组件,则只能从tLogRow_1获取日志,并从tLogRow_2获取最后一个文件名。

Talend Job Example

使用所示链接,在迭代器后面,然后列出电子表格内容,然后列出其标题:

Col1|Col2|Col3
A|B|C
D|E|F
A.xlsx
Col1|Col2|Col3
A|B|C
D|E|F
B.xlsx
Col1|Col2|Col3
A|B|C
D|E|F
C.xlsx

我假设您已经过滤出tMap组件中的重复文件,因此,如果您从disponsibilite_3d组件中链接第二个子作业,我想您会得到想要的结果

答案 1 :(得分:0)

enter image description here

谢谢@Screwtape我从disponsibilite_3G组件链接了您的第二个子作业

但是我遇到以下错误