并行作业在输出到数据集时添加额外的列

Parallel job is adding extra columns when outputting to a dataset

写入数据集之前的最后一项工作是转换。它比这复杂得多,但基础知识是:

因此,澄清一下,A 列只是通过,B 列和 C 列用于在最终输出中执行称为“C”的转换 link。

当我检查写入数据集的列时,我看到了 A 和 C。我可以保存 table 定义,这也只是 A 和 C 列。但是,当我实际上 运行 作业,B 列也出现在数据集中,所以我最终得到(以任何顺序)A、B 和 C 列。

我试过删除我的输出数据集,然后重新创建它,给它一个新名称,但由于某种我不完全理解的原因,它总是以其中的“工作列”B 结尾。我不明白它是如何选择不在最终输出中的列 link 并违背我的意愿选择添加它的。

我不希望我的数据集中有 B 列,存储它很浪费,而且让开发人员感到困惑,因为它一开始就不应该存在。如何阻止 DataStage 写入它?

您似乎激活了 RCP 运行时列传播 - 这将转换所有可用的列,独立于指定的列。

转到舞台(Transformer)-属性-输出选项卡,有一个复选框运行时列传播-删除复选标记。 在其他阶段,它也可以位于列选项卡上。 在您的工作的工作属性中,还有一个设置将为新链接启用 RCP - 也删除此标记以避免未来工作扩展出现此问题。

有关 RCP 的更多详细信息,请查看 this