I have a process that needs to download a file from an FTP server. Parse it and add the rows into a PostgreSQL database table.
Currently, my job looks like this:
tFTPGet_1 - OnSubjobOk -> tFileList_1 - iterate -> tFileInputDelimited_1 - row 1 (Main) -> tMap_1 - row 1 (Main) -> tpostgresqlOutput1ft
tFTPGet_1 selects a file (or files) from a remove folder using a mask: "cmgcfscommfileout-*.csv" there may be more than one (but there is usually only one and we don't the the detail for the glob '*' for certian; It's a date but it might be any date). It then downloads the file into a specific folder "Downloads/Commissions/CUNA/CFS".
Currently, tFIleList_1 gets any files named "*.csv" in "Downloads/Commissions/CUNA/CFS". While this works it's not really how I'd like to do it. I'd love to send the output of tFTPGet_1 into tFileDelimited_1 directly but I don't see any global variables that I could use like in tFileList_1 (I'm using ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")) to extract the filename in tFileDelimited_1 from tFileList_1. But as I said I don't see any output globals that I could use for tFTPGet_1.
Is there any way to do this?
Any help is gratefully appreciated.
as You describe - it not supported
as I understand - main idea proceed each file sequently, without waiting while all downloaded
If Your server support not only FTP/SFTP, You can use tSCPFileList for list remote folder, and then use tSCPGet (or continue tFTPGet with file mask from variable)
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Watch the recorded webinar!
Part 2 of a series on Context Variables
Learn how to do cool things with Context Variables
Find out how to migrate from one database to another using the Dynamic schema