【问题标题】:Run a specific talend component using the shell executable使用 shell 可执行文件运行特定的 talend 组件
【发布时间】:2018-05-04 14:21:18
【问题描述】:

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

我已经设置了我的工作,如果一个组件成功,OnComponentOk 触发器将用于运行下一个组件。要运行该作业,我运行 sudo bash NAME_OF_THE_JOB.sh。是否可以只运行一个组件,也许通过将参数传递给 bash shell 文件?

【问题讨论】:

    标签: talend


    【解决方案1】:

    Talend 作业是单个 java 程序。组件被翻译成 java 函数。没有允许您执行单个组件的参数。
    你可以做的是以这样一种方式编写你的工作来执行一个组件,其名称是通过上下文变量传递的,但它并不漂亮。
    您可以使用Run If triggers 测试通过名为 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-02
      • 2012-09-25
      • 1970-01-01
      • 2013-05-08
      • 2012-07-04
      • 2023-03-23
      • 2015-12-28
      相关资源
      最近更新 更多