首页 > 解决方案 > 如何给以前与其他工作计算的工作参数?

问题描述

我正在使用并行作业的 DataStage 11.3。

我的输入是一个日期,我在 -transformer-stage 中使用“DateOffsetByComponents”函数来获得 4 个具有不同规则的日期,这 4 个结果以不同的 -sequential file-stage 结束。

我转换的下一步是在 Sybase 中进行查询,但是条件子句“Where”使用前面提到的 4 个日期作为参数从数据库中获取正确的信息。

有人知道如何读取每个顺序文件中的日期并将它们作为参数放在下一步中吗?

我读到了一个类似的问题,他建议在序列作业中使用 -execute 命令阶段,但我是使用 DataStage 的新手,我不清楚如何实现这一点,尽管我可以看到也就是说,在这种类型的作业(序列)中,您可以选择其他-作业活动-阶段中包含的参数。

非常感谢提前

标签: datastageibm-infosphere

解决方案


是的,从每个文件中读取日期的执行命令活动是可行的方法。找出一个操作系统命令来提取您需要的信息,也许是 grep 和 sed 的某种组合,并将其用作命令。命令输出在名为 $CommandOutput 的活动变量中可用。例如,如果您的文件包含“日期:2021-11-17”行,那么合适的命令可能是grep Date: filename | cut -f2 您可能想在管道中添加一个 tr 命令来删除尾随的换行符。每个文件都需要一个执行命令活动。从 $CommandOutput 活动变量中访问每个所需的日期。


推荐阅读