архивные файлы на все даты (предыдущий и текущий день) с talend - PullRequest
1 голос
/ 22 сентября 2019

Я создал работу, которая архивирует файлы в текущий день.Теперь мне нужно улучшить свою работу по архивированию файлов за все дни (текущий и предыдущий дни).Я использовал глобальную переменную, такую ​​как:

"*_"+ TalendDate.formatDate("yyyy_MM_dd",TalendDate.getCurrentDate())+".csv"

это задание получить файлы с FTP и заархивировать их в текущий день

Как изменить глобальную переменную для архивации ввсе дни?

Я использовал Tloop, но без результата.

1 Ответ

0 голосов
/ 23 сентября 2019

Я думаю, что вы могли бы добиться этого с двойным чтением вашей входной папки, с компонентом tIterateToFlow.

enter image description here

  • В tFileList_1 получите все CSV, без маски (или просто * .csv)
  • вtIterateToFlow, извлеките дату из входного имени файла (для вашего примера это должно сработать: StringHandling.RIGHT(((String)globalMap.get("tFileList_1_CURRENT_FILE")),14)
  • Добавить итерацию tFlowTo, настройка не требуется
  • В tFileList_2 вы можете затем отфильтроватьв поле, созданном в tIterateToFlow: это ваш шаблон: "*_"+((String)globalMap.get("row2.dateFile"))
  • tFileArchive_1 может затем сжать файл в выходной папке (с той же маской, что и в вашем tFileList)

Я тестировалэто быстро, кажется, работает. Не проверял с tFTP-компонентами, хотя.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...