talend使用ini文件初始化上下文变量。
本来想使用setGlobaVar控件,但研究一段时间后始终没能将变量重新写回文件。没办法还是使用了tContextLoad控件来加载contexts实现。
整个数据交换的流程图如下:
先在本地建立一个 ini 文件 内容如下:
[aj]
ajtime=20000101000000
[ry]
rytime=20000101000000
在job的contexts中添加一个上下文变量:
rytime
然后设置tFileInputProperties_1的 component 中
file Format 为 ini
retrive mode 为 retrive by section
sectionname 为 “ry” 注意引号
filename指向此文件。
注意 tFileInputProperties_1 指向 tContextLoad_1 为 右键row main指向
指向数据库输入 Aj_jbxx 为 右键 trigger on subjob ok 指向
在数据处理过程中可以使用 如下办法设置 上下文 rytime
我在此添加了一个tJava控件,在上面图中没有体现:
在tJava控件中如下写:
context.setProperty("rytime","20100401000000");
处理完毕后 使用控件
tContextDump_1 进行输入 指向 tFileOutputProperties_1
tFileOutputProperties_1设置component时需要注意将 复选框 Append 选上,不然会将其中定义的其他section删除。