Как заставить ibm data stage считывать определенное значение параметра задания из источника

#datastage #ibm-infosphere

#datastage #ibm-infosphere

Вопрос:

Я пытаюсь записать имя файла, вводимого в мой источник данных, в столбец таблицы source_file , для имени файла я создал параметр задания sales* ; Я протестировал его с файлами sales.xlsx и sales_copy.xlsx .

Он успешно выполнен для ввода данных, за исключением source_file столбца в базе данных, это должно быть sales.xlsx и sales_copy.xlsx . Но то, что считывает база данных, sales* потому что при выводе сопоставления для source_file столбца я задаю его как source_param значение sales* .

Как заставить его специально читать имя файла sales.xlsx , а sales_copy.xlsx не sales* ?

Ответ №1:

Я не думаю, что он принимает имена из значения параметра в качестве столбца в параллельном задании, когда вы определяете его как ‘Sales *.xls’ (он принимает Sales *.xls как константу независимо от того, где вы определяете его либо в последовательном файле как имя файла, либо передаете его как параметр).
Что вы можете сделать, это

  1. Определите ваше параллельное задание, в котором вы определяете столбец имени файла как имя столбца на последовательном этапе файла (где вы импортируете данные), и имя файла должно определяться параметром.
  2. Создайте последовательный файл, в котором вы вызываете вышеупомянутое параллельное задание в цикле, где вы передаете все имена файлов в качестве счетчика цикла для параметра имени файла (цикл работает как со строками, так и с числовыми значениями).

Комментарии:

1. о, я вижу, для пункта 2 соединение будет таким? (цикл-> последовательный файл-> задание)

2. Точно!! Рассмотрим, что последовательное задание вызывает ваше параллельное задание, где вы определяете столбец как имя файла и сохраняете последовательное задание в цикле, где вы последовательно передаете все имена файлов в цикле.

Ответ №2:

Неясно, где вы пытаетесь это сделать и чего вы пытаетесь достичь. Начнем с того, что «продажи *» не является допустимым именем для параметра задания. Давайте предположим, что есть параметр задания с именем jpFileName. Чтобы ссылаться на этот параметр в задании, вам нужна ссылка, то есть имя параметра, окруженное символами «#», например #jpFileName#. Вы бы использовали эту ссылку при выводе выходного столбца source_file; Я настоятельно рекомендую вам использовать редактор выражений для выбора ссылки на параметр. Когда задание выполняется, значение «sales.xlsx » предоставляется как значение параметра при одном запуске, и значение «sales_copy.xlsx » предоставляется в качестве значения параметра при другом запуске.