如何使用Talend Open Studio数据集成创建属性文件?

时间:2016-03-02 03:04:25

标签: java mule mule-studio talend

我曾经使用Talend Open Integration studio来创建作业并从IDE运行它或将其导出为可执行jar文件。但我还没有广泛使用它。 是否可以创建一个包含不同服务器名称和其他变量的外部配置文件,以便在创建我的Talend作业的可执行jar文件后,我可以更改配置文本文件并选择不同的数据库服务器或端口选项?

我也使用了MuleSoft一点点,所以如果有人知道如何使用MuleSoft,任何建议都会受到赞赏。

3 个答案:

答案 0 :(得分:7)

根据你问题的内容,我会改写主题 "如何在Talend Open Studio数据集成作业中读取和使用外部属性文件?"

首先......创建属性文件" common.properties"。您可以将它放在(例如)/ etc / classpath或c:\ etc \ classpath

属性文件的示例内容

$user->roles()->save($role, ['expires' => $expires]); //using save
$user->roles()->attach($roleId, ['expires' => $expires]);// using attach

在Talend Project中创建一个公共上下文,并将相同的属性添加到上下文

enter image description here

创建可重复使用的作业以读取属性并加载它们。我们称之为Read_ Properties。

enter image description here

使用tFileInputDelimited组件读取props文件。它应该使用" ="作为行分隔符。

enter image description here

它应该有一个包含两列的模式

example_property="This is an example property"

输出应该转到tBufferOutput

现在......保存可重复使用的工作。

创建一个新工作,example_calling_job 该工作应该使用Common上下文。 该作业应该有一个prejob步骤,使用tRunJob调用属性作业,将行输出发送到tContextLoad

然后,example_calling_job中的组件可以使用属性读取器作业加载的上下文变量。

enter image description here

运行example_calling_job。 tJava组件写出context.example_property值,该值由属性读取器作业加载到上下文变量中。

key, string 
value, string

答案 1 :(得分:2)

使用Talend,您可以在Context中定义参数。您可以使用组件tContextLoad(https://help.talend.com/display/TalendComponentsReferenceGuide54EN/tContextLoad)初始化Context。如果您使用的是独立作业,则可以使用命令行参数--context_param设置或覆盖上下文值。

答案 2 :(得分:0)

您可以使用tFileOutputProperties来crteate属性文件。在组件设置中指定.properties文件的文件路径。

请注意,tFileOutputProperties的输入模式应该只有两个字段 - 键和值。

同样,要从.properties文件中读取,请使用tFileInputProperties