datastage - 如何给以前与其他工作计算的工作参数?
问题描述
我正在使用并行作业的 DataStage 11.3。
我的输入是一个日期,我在 -transformer-stage 中使用“DateOffsetByComponents”函数来获得 4 个具有不同规则的日期,这 4 个结果以不同的 -sequential file-stage 结束。
我转换的下一步是在 Sybase 中进行查询,但是条件子句“Where”使用前面提到的 4 个日期作为参数从数据库中获取正确的信息。
有人知道如何读取每个顺序文件中的日期并将它们作为参数放在下一步中吗?
我读到了一个类似的问题,他建议在序列作业中使用 -execute 命令阶段,但我是使用 DataStage 的新手,我不清楚如何实现这一点,尽管我可以看到也就是说,在这种类型的作业(序列)中,您可以选择其他-作业活动-阶段中包含的参数。
非常感谢提前
解决方案
是的,从每个文件中读取日期的执行命令活动是可行的方法。找出一个操作系统命令来提取您需要的信息,也许是 grep 和 sed 的某种组合,并将其用作命令。命令输出在名为 $CommandOutput 的活动变量中可用。例如,如果您的文件包含“日期:2021-11-17”行,那么合适的命令可能是grep Date: filename | cut -f2 您可能想在管道中添加一个 tr 命令来删除尾随的换行符。每个文件都需要一个执行命令活动。从 $CommandOutput 活动变量中访问每个所需的日期。
推荐阅读
- reactjs - Incorrect Typing of React Hook with Firestore
- tooltip - 动态更新 Material UI 工具提示的标题组件
- c# - 将字节数组解析为结构
- typescript - 如何使用 Typescript 编写具有可迭代约束的泛型类型
- multithreading - 异步线程从单个源读取,循环样式,并写入单个目标,按顺序
- java - 如何获取丢弃的图像 x 和 y 坐标?
- python - 如何对 groupby 结果的第一个值求和并将其写为相关组中的 df 列
- c - Matlab 中的 mxArrayToString() 函数
- regex - 当在整个字符串中找不到特定单词时如何获得不“命中”?
- ios - iOS 13 中的 UISearchBar 在关闭 (x) 按钮旁边有一个小黑点