Talend for DI - Как объединить неизвестное количество входных файлов в одну таблицу?
У меня есть основная входная таблица, содержащая данные "заголовка", такие как id, name, date,.... У меня также есть подзадача. CALC dat вычисляет значения по месяцам в зависимости от даты MAIN -> подзаголовок сохраняет новую таблицу с столбцы: [month_1], ...., [month_12], [TOTAL_YEAR] в новый файл.dat (хранящийся в tCacheOutput) с именем родительского задания и currentYear.
Так, например: Parentjob = РОДИТЕЛЬ
PARENT сохраняет некоторые данные заголовка, содержащие: [id], [name], [date], [value], в кэш-файле PARENT.dat, а затем вызывает подчиненное задание CHILD.
ДЕТЯМ проходит через годы (я предоставляю их через tFixedFlowInput) и получает данные из файла PARENT.dat. Затем он проверяет год (например, 2016 год) и месяц и генерирует новую таблицу (используя tMap) с [month_1], [month_2],...,[month_12],[total] и сохраняет ее в новом Файл.dat называется PARENT_2016. Этот процесс повторяется каждый год, когда мы хотим получить значение...
Вернувшись к родительскому заданию, я теперь должен сгруппировать данные, содержащиеся в файлах PARENT.dat, PARENT_2016, ....
Мой вопрос: как мне найти все созданные файлы и просто "склеить их" в одну большую таблицу? Я понимаю, что могу вручную создавать входные данные для каждого года (tCacheInput), а затем комбинировать их с помощью tMap, но я не знаю схемы заранее (потому что я не знаю, сколько лет придется проверять работу), и я не хочу ручного ввода для каждого года...
1 ответ
Вам нужно использовать tFileList. И вставьте в фильтр: "РОДИТЕЛЬ *"
Это займет все файлы с шаблоном PARENT в папке