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.
Learn how to do cool things with Context Variables
Find out how to migrate from one database to another using the Dynamic schema
Pick up some tips and tricks with Context Variables