pentaho: как передать переменную в start-job из самого низкого преобразования

Я новичок в pentaho, и у меня возникли проблемы во время работы. У меня есть job1, который состоит из job2 и других преобразований. Задание 2 содержит 3 преобразования: 1, 2 и 3. Преобразование 3 выполняет несколько шагов и вызывает другое преобразование 4 (через шаг исполнителя преобразования). Преобразование4 сравнивает некоторые значения, а затем устанавливается новая переменная «результат». Проблема в том, что мне нужно использовать эту переменную в Job1. Я попытался использовать шаг «установить переменные» с допустимым значением в родительских, корневых и системных заданиях, но значение всегда пустое. Есть ли возможность передать эту переменную в start-job (job1)? Спасибо за помощь.


person Jane    schedule 14.11.2016    source источник


Ответы (1)


Из приведенного выше описания потока задания / преобразования было бы невозможно установить значение от T4 до J1, поскольку задания выполняются последовательно, а Set_variable на 1-й итерации T4 не может передавать данные в Get_Variables J2. Если J1 был помечен как «Выполнить для каждой строки» (по умолчанию) и данные читаются из источника, такого как Таблица - убедитесь, что DML зафиксирован. Файл - убедитесь, что файл закрыт.

Надеюсь, это ответит на вопрос

person Deepak Sridharan    schedule 14.11.2016
comment
тип -exit.org/adventures-with-open-source-bi/2010/06/ дает хорошее представление о выполнении одного и того же задания для разных параметров. - person Deepak Sridharan; 14.11.2016
comment
Спасибо за сообщение, я проверил, все закрыто, но получаю пустое значение. Проблема в том, что я не могу прочитать переменную даже после шага Transformation Executor. На шаге Set Variable в последнем Transformation4 я вижу в Log-файле: set var value is true, но в следующем Transformation5 значение пусто. - person Jane; 15.11.2016
comment
Как вы получаете значение переменной в T5, если используется шаг Get Variable ?, также присутствует ли T5 внутри J2? в вышеупомянутом вопросе нет Т5? - person Deepak Sridharan; 16.11.2016
comment
Это правильно. Но я просто хотел описать основную проблему. Я могу передать переменную не только от самого низкого задания, я имею в виду от задания2 к заданию1, но также и от преобразования4 к преобразованию3. Проблема начинается отсюда. Теперь Transformation3 вызывает преобразование4, мне нужно установить здесь в tr4 переменную и передать ее, по крайней мере, в преобразование3 обратно. - person Jane; 17.11.2016