Запустите определенный компонент Talend, используя исполняемый файл оболочки - PullRequest
0 голосов
/ 04 мая 2018

Мой вопрос похож на этот: Выполнить только один компонент talend . За исключением того, что вместо использования Talend Open Studio я хочу иметь возможность запускать определенный компонент из исполняемого файла оболочки, получаемого при создании задания.

Я настроил свою работу таким образом, чтобы при успешном выполнении компонента для запуска следующего компонента использовался триггер OnComponentOk. Для запуска задания я запускаю sudo bash NAME_OF_THE_JOB.sh. Можно ли запустить только один компонент, возможно, передав аргументы в файл оболочки bash?

1 Ответ

0 голосов
/ 07 мая 2018

Работа Talend - это отдельная Java-программа. Компоненты переведены в функции Java. Нет аргументов, позволяющих выполнить один компонент.
Что вы могли бы сделать, так это написать свою работу, чтобы выполнить компонент, имя которого передается через переменную контекста, но это не красиво.
Вы можете проверить имя компонента, переданное через переменную componentName, используя триггеры Run If:

     tRunJob_1
        /
   if("tRunJob_1".equals(context.componentName)
      /
     /
Start ---if("tJava_2".equals(context.componentName))-- tJava_2
     \
      \
   if("tRest_1".equals(context.componentName))
        \
       tRest_1

Как видите, это может быть очень громоздким и требует, чтобы вы знали имя компонента, чтобы запустить его.

Затем вы можете запустить свою работу, передав имя компонента в качестве аргумента:

sudo bash NAME_OF_THE_JOB.sh --context_param componentName=tJava_2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...