Talend - передача переменных globalMap всем подзадачам в задании - PullRequest
0 голосов
/ 01 октября 2018

Передача переменных globalMap всем подзадачам в задании Я работаю с несколькими заданиями, в которых используется 60% одного и того же кода.Каждый раз, когда мне нужно что-то обновить, я заканчиваю тем, что меняю одни и те же вещи во всех заданиях.

Вот как это выглядит:

Existing Job 1 - Node ETV -> Node 1 -> Node 2 -> Node 3 -> Node ABC -> Node 5 -> Node 6

Existing Job 2 - Node KJL -> Node 1 -> Node 2 -> Node 3 -> Node MNP -> Node 5 -> Node 6

Existing Job 3 - Node LDG -> Node 1 -> Node 2 -> Node 3 -> Node XYZ -> Node 5 -> Node 6

Я хочу заставить их все работать так:

Создать подзадачу 1, которая является комбинацией Узла 1 -> Узел 2 -> Узел 3

и

Создать Подзадачу 2, которая является комбинацией Узла 5 -> Узел 6

А затем переписать задания следующим образом:

Updated Job 1 - Node ETV -> Sub Job 1 -> Node ABC -> Sub Job 2

Updated Job 2 - Node KJL -> Sub Job 1 -> Node MNP -> Sub Job 2

Updated Job 3 - Node LDG -> Sub Job 1 -> Node XYZ -> Sub Job 2

Проблема, по-видимому, в том, что область действия globalMap ограничена и ни в коем случае не является «глобальной».Значения, созданные в Node ETV, недоступны в подзадаче 1. Похоже, не пройти через это.Должны быть созданы переменные, которые доступны повсюду в работе.

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете использовать контекстные переменные вместо глобальных переменных.Когда вы используете tRunJob для вызова вашего subjob, вы можете проверить опцию «передать весь контекст».Таким образом, ваше задание будет автоматически получать значения контекста из задания.Вам просто нужно объявить переменные контекста с одинаковыми именами во всех заданиях.

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