使用shell可执行文件运行特定的talend组件

使用shell可执行文件运行特定的talend组件,talend,Talend,我的问题与此类似:。除了不使用Talend Open Studio之外,我希望能够从构建作业时获得的shell可执行文件中运行特定组件 我设置作业的方式是,如果某个组件成功,则使用OnComponentOk触发器运行下一个组件。要运行作业,我运行作业的sudobash NAME。是否可以只运行一个组件,或者将参数传递给bash shell文件?Talend作业是单个java程序。组件被转换为java函数。没有允许您执行单个组件的参数。 您所能做的就是以这样一种方式编写作业,以执行一个组件,该组件

我的问题与此类似:。除了不使用Talend Open Studio之外,我希望能够从构建作业时获得的shell可执行文件中运行特定组件


我设置作业的方式是,如果某个组件成功,则使用
OnComponentOk
触发器运行下一个组件。要运行作业,我运行作业的sudobash NAME。是否可以只运行一个组件,或者将参数传递给bash shell文件?

Talend作业是单个java程序。组件被转换为java函数。没有允许您执行单个组件的参数。
您所能做的就是以这样一种方式编写作业,以执行一个组件,该组件的名称通过上下文变量传递,但并不美观。
您可以使用
Run If
触发器测试通过名为componentName的变量传递的组件名称:

     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