Talend 从TAC传递参数以执行作业

Talend 从TAC传递参数以执行作业,talend,Talend,我有一个非常通用的作业,不同的参数作为上下文参数从不同的文件传递。但我仍然需要“硬编码”上下文 文件名并在TAC(Talend管理控制台)中创建多个作业以执行。我希望做的是使用一个通用作业,并将上下文文件传递给该作业 交咨会。然后,作为作业执行的一部分,将读取并加载传入的上下文文件。 我的问题是如何实现这一点,基本上根据执行时间从TAC传递不同的上下文文件 谢谢。一种方法可能是用包含上下文(或指向相应上下文文件的链接)的多个包装作业包围通用作业,并将这些上下文变量传递给通用子作业 如果您有几个不

我有一个非常通用的作业,不同的参数作为上下文参数从不同的文件传递。但我仍然需要“硬编码”上下文 文件名并在TAC(Talend管理控制台)中创建多个作业以执行。我希望做的是使用一个通用作业,并将上下文文件传递给该作业 交咨会。然后,作为作业执行的一部分,将读取并加载传入的上下文文件。 我的问题是如何实现这一点,基本上根据执行时间从TAC传递不同的上下文文件


谢谢。

一种方法可能是用包含上下文(或指向相应上下文文件的链接)的多个包装作业包围通用作业,并将这些上下文变量传递给通用子作业

如果您有几个不同作业所需的一些通用功能,但希望将不同的数据传递给它们,或者希望以不同的方式将数据呈现给它们,那么这将非常有效

如果随后更改了通用作业的逻辑,那么所有包装作业都将立即使用新逻辑

当然,如果您有企业许可证(如果您有权访问TAC,您可以这样做),那么更好的替代方案是joblets,它就是为此目的而设计的,可以用来完全更改数据源/目标,只需将逻辑分离出来

或者,您可以使用TAC按需传递自定义上下文变量。要执行此操作,请单击作业指挥中的任务,然后按底部(触发器旁边)的“上下文参数”按钮。在这里,您可以硬编码您想要的任何值


我倾向于将其用于大多数运行都设置了默认上下文变量,但偶尔希望在运行时进行调整的作业。因此,我可能有一个上下文变量,它允许过滤我的数据,我将其默认为all。在运行时,我可以选择我的筛选条件上下文变量,并告诉它此执行的筛选条件。

您还可以覆盖执行计划中的上下文。执行计划使用您覆盖的上下文变量,可以再次覆盖。@BalazsGunics这完全偏离主题,但我还不明白为什么要使用执行计划,而不是包装我将在父包装作业中使用的作业,然后调用这些作业(也可能是并行的)。如果你能给我一个好的,快速的例子,那么我很乐意为你写一个规范的问题来回答更详细的问题。首先,我必须告诉你,我也讨厌执行计划。我最近发现,您也可以覆盖其中的上下文参数。例如,如果您有一个在两个系统之间移动数据的通用作业,您可以创建一个执行计划,其中第一个执行加载模式a+表(…),第二个执行加载模式B+表(…),这样您就可以定义一次源-目标参数,然后,对于每次执行,可以在执行计划中定义执行参数。所以你不必开工作室。对于DWH工作,我们使用工作而不是执行计划感谢各位的建议和见解。要考虑的是,如果我创建一个作业,但在TAC中有多个记录,每个都通过一个不同的上下文文件(从该上下文中读取该上下文的值),这就在TAC中创建了一组类似的作业。另一种选择是在数据库中输入这些上下文变量,然后每20分钟运行一次作业,查看哪些作业的计划时间小于或等于运行时间,在循环中运行返回的记录;我必须看看这些作业是如何并行执行的,而不是串行执行的。。有什么建议或见解吗?在TAC上有很多类似的工作真的有问题吗?你建议的方法听起来过于复杂,当事情开始出错时,容易出现问题。