Talend-t文件存在两个路径以满足相同的流

Talend-t文件存在两个路径以满足相同的流,talend,Talend,我是塔伦德的新手,我的情况很正常,但似乎没有找到解决办法 我需要使用tFileExist组件来检查目标位置中是否存在文件 如果文件不存在,那么我将加入主流程,该流程从源表中提取数据,并将其作为文件放置在目标位置 另一方面,如果文件已经存在于目标位置,那么我需要将该文件移动到另一个位置,然后加入相同的主流(如第2点所示),以便从源表中提取文件并将其作为文件放置在目标位置 但是,我似乎无法将这两条备用路径连接到同一个流。我搜索了一个解决方案,但是所有的帖子都在谈论为“存在”和“不存在”路径选择一个备

我是塔伦德的新手,我的情况很正常,但似乎没有找到解决办法

  • 我需要使用tFileExist组件来检查目标位置中是否存在文件
  • 如果文件不存在,那么我将加入主流程,该流程从源表中提取数据,并将其作为文件放置在目标位置
  • 另一方面,如果文件已经存在于目标位置,那么我需要将该文件移动到另一个位置,然后加入相同的主流(如第2点所示),以便从源表中提取文件并将其作为文件放置在目标位置
  • 但是,我似乎无法将这两条备用路径连接到同一个流。我搜索了一个解决方案,但是所有的帖子都在谈论为“存在”和“不存在”路径选择一个备用流

    任何建议和指导都会有所帮助。谢谢

    我已经添加了一个链接到工作形象

    您可以使用“如果”链接

    以下是作业的示例:

    在“if”链接中,放置组件tfileexist允许使用的变量:

    • ((布尔)globalMap.get(“tFileExist\u 1\u EXISTS”))
    在另一个链接中,如果你把它放在相反的位置:

    • ((布尔)globalMap.get(“tFileExist\u 1\u EXISTS”))
    您可以用您想要的任何内容替换tmysqlinput/output(例如,如果需要,可以使用tfileinput/output)

    此外,您还可以通过单击“结构”按钮来查阅作业中放置的组件所允许的变量:

    您可以使用“如果”链接

    以下是作业的示例:

    在“if”链接中,放置组件tfileexist允许使用的变量:

    • ((布尔)globalMap.get(“tFileExist\u 1\u EXISTS”))
    在另一个链接中,如果你把它放在相反的位置:

    • ((布尔)globalMap.get(“tFileExist\u 1\u EXISTS”))
    您可以用您想要的任何内容替换tmysqlinput/output(例如,如果需要,可以使用tfileinput/output)

    此外,您还可以通过单击“结构”按钮来查阅作业中放置的组件所允许的变量:


    感谢西奥的回复。我了解“If”条件的用法,我让他们将您提供的解决方案与流程tMySQLInput->tMap->tMySQLOutput重复。这就是我试图避免的。如果进一步的处理很复杂,我不想重复两次。此外,我以后可能需要在这两个地方进行任何修改。我希望重复使用相同的流程,而不是重复。再次感谢您的回复。您不会重复两次操作。如果选择第一个“如果”,则第二个将永远不会在同一次运行中执行。你需要重新启动工作,与另一家分公司共进午餐,而这家分公司是独一无二的。我知道在运行时,两个流中的任何一个都将被执行,而不是同时执行。但是,我说的是工作设计。我试图避免设计在设计时重复相同流程的作业。我不想在我的工作中两次保持相同的流程。我编辑了,所以你可以这样做:)只需要一个分支就可以响应Theo。我了解“If”条件的用法,我让他们将您提供的解决方案与流程tMySQLInput->tMap->tMySQLOutput重复。这就是我试图避免的。如果进一步的处理很复杂,我不想重复两次。此外,我以后可能需要在这两个地方进行任何修改。我希望重复使用相同的流程,而不是重复。再次感谢您的回复。您不会重复两次操作。如果选择第一个“如果”,则第二个将永远不会在同一次运行中执行。你需要重新启动工作,与另一家分公司共进午餐,而这家分公司是独一无二的。我知道在运行时,两个流中的任何一个都将被执行,而不是同时执行。但是,我说的是工作设计。我试图避免设计在设计时重复相同流程的作业。我不想在我的作业中两次维护相同的流。我编辑了,所以您可以这样做:)只使用一个分支