产品: Talend Open Studio for Big Data(5.6.0M3_20140806_1834)
可以使用context
和/或context group
(您可以将其视为环境参数集,例如 development 的源和目标数据库设置,< em> test 和 production )。
请点击此处查看示例:http://www.talendforge.org/tutorials/tutorial.php?idTuto=14#step183 ( 5mn Demo )
因此,可以使用作业中的一些db connection
对象执行此操作,并根据上下文(例如,使用context.srcDbHostName
的服务器名称)对其进行配置。
如果你创建了这样一个上下文组,你可以很好地使用它,例如创建作业以将数据从某个源复制到某个目标数据库(例如,在数据仓库环境中)。然后在所有这些环境中对其进行测试,只需单击一下即可选择上下文组的特定上下文。
现在,如果您还希望通过自定义SQL查询和与它们相关的向导来调试数据库等,则可以基于Metadata->DB connections
区域进行良好集成。
现在,如果我们可以将这些连接重用我们的上下文组(而不是为我们所有不同的源和目标数据库手动创建数据库连接),那就太好了,这意味着让它们基于我们的单个上下文组。因此,在我们的示例中,我们只需要两个连接,一个用于源数据库连接,另一个用于目标数据库连接,在访问时将出现一个对话框,让我们选择适当的环境。
但这些连接首先由离散值配置。有一个选项可以将此类连接导出为新上下文组中的上下文。 但是如果你有两个这样的连接,就像上面的例子一样,你最终会得到两个不同的上下文组,尽管你只需要一个包含两个上下文的组。 : - (
我发现无法完成此类 上下文组合并 或导出合并功能。
但是我找到了另一种相当简单但不支持向导的方法来做到这一点。 (见下面的答案)
答案 0 :(得分:1)
只有一个直接的解决方案可行,但是当你得到图片时,你可以调整步骤到最适合你的问题的场景......
context/<myCtxGroup>.properties
xmi:XMI/TalendProperties:Property/@id = "myCtxGrpId"
metadata/connections/<srcdb>.item
xmi:XMI/TalendMetadata:DatabaseConnection ContextId="myCtxGrpId" contextName="test" ... ServerName="context.srcDbHost" ...
metadata/connections/<dstdb>.item
xmi:XMI/TalendMetadata:DatabaseConnection ...
ContextId
,contextName
,...属性添加到 dstdb 连接有强>
ServerName="context.dstDbHost"
(不是srcDbHost
)