【发布时间】:2014-11-25 02:37:17
【问题描述】:
我的工作非常通用,不同的参数作为上下文参数从不同的文件传递。但我仍然需要“硬编码”上下文 文件名并在 TAC(Talend 管理控制台)中创建多个作业以供执行。我希望做的是使用通用作业并将上下文文件传递给该作业 来自 TAC。然后作为作业执行的一部分,将读取传入的上下文文件并加载上下文。 我的问题是如何实现这一点,基本上是根据执行时间从 TAC 传递不同的上下文文件?
谢谢。
【问题讨论】:
标签: talend
我的工作非常通用,不同的参数作为上下文参数从不同的文件传递。但我仍然需要“硬编码”上下文 文件名并在 TAC(Talend 管理控制台)中创建多个作业以供执行。我希望做的是使用通用作业并将上下文文件传递给该作业 来自 TAC。然后作为作业执行的一部分,将读取传入的上下文文件并加载上下文。 我的问题是如何实现这一点,基本上是根据执行时间从 TAC 传递不同的上下文文件?
谢谢。
【问题讨论】:
标签: talend
一种方法可能是用多个包装作业包围通用作业,其中包含上下文(或指向适当上下文文件的链接),并将这些上下文变量传递给通用子作业。
如果您有一些通用功能需要几个不同的工作,但希望将不同的数据传递给它们或希望以不同的方式向它们呈现数据,这将很有效。
如果您随后更改了通用作业的逻辑,那么您的所有包装作业都会立即使用新逻辑。
当然,如果您有企业许可证(如果您可以访问 TAC,则可以这样做),一个更好的替代方案是为此目的而设计的作业集,可用于完全更改数据源/目标并保持逻辑分离。
或者,您可以使用 TAC 按需传递自定义上下文变量。为此,请单击作业指挥中的任务,然后按底部的“上下文参数”按钮(触发器旁边)。在这里你可以硬编码你想要的任何值。
我倾向于将其用于为大多数运行设置默认上下文变量但偶尔想在运行时进行调整的作业。所以我可能有一个允许过滤我的数据的上下文变量,我将其默认为全部。在运行时,我可以选择我的过滤条件上下文变量并告诉它要过滤什么来执行此操作。
【讨论】: