как переместить файл после чтения файла в данных ibm

У меня есть 1 папка с 4 файлами, это sales_jan, sales_feb, debt_jan, debt_feb. Я создал конкретное задание для каждой продажи и долга. Дело в том, что если я уже выполнял задание ранее только для sales_jan, а затем наступает sales_feb, я не хочу повторять чтение sales_jan снова, я хочу прочитать только последний добавленный файл, который не был обработан. Для чтения файла я передаю шаблон конкретного файла (например, sales_*), но если я использую его таким образом, то этап повторно обработает sales_jan, хотя он уже был. Я хочу переместить уже прочитанный файл в другую папку. Как мне это сделать в ibm datastage? Если нет возможности сделать это, что вы посоветуете решить мою проблему. Любые идеи были бы хорошы.


person random student    schedule 11.09.2020    source источник


Ответы (2)


Самое простое решение - использовать подпрограмму после выполнения задания (ExecSH в Linux / UNIX, ExecDOS в Windows), чтобы переместить файл в другое место. Поскольку вы используете подстановочные знаки для этапа «Последовательный файл», вам нужно будет немного умнее справиться с ситуацией, когда ваше задание обрабатывает только некоторые файлы. Я бы предпочел написать это, используя цикл в последовательности, обрабатывая один файл за раз, чтобы перемещение можно было обрабатывать для каждого файла.

person Ray Wurlod    schedule 11.09.2020
comment
но если я зацикливаю его, мне нужно записать все имена файлов, я делаю все задание автоматическим без какого-либо вмешательства пользователя, поскольку пользователь хочет только щелкнуть значок запуска, ничего не редактируя (поскольку они не не разбираюсь в инструменте). - person random student; 11.09.2020

вы можете установить флаг для каждого файла, который уже прочитан вашей работой. Например, добавьте поле maxdate для каждого файла. Если максимальная дата первого файла меньше, чем дата второго файла или нового файла. Затем прочтите последний файл. Это можно сделать с помощью последовательной простой команды Linux или преобразователя. Так же, как Рэй упоминал ранее

person Cemox    schedule 12.09.2020