【问题标题】:Parallel job is adding extra columns when outputting to a dataset并行作业在输出到数据集时添加额外的列
【发布时间】:2023-01-15 09:25:59
【问题描述】:

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

  • 输入 = A 整数、B 整数和 C 整数
  • output = A Integer, if B > 10 then C else 0 -> C Integer

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

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

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

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

【问题讨论】:

    标签: datastage


    【解决方案1】:

    似乎您已激活 RCP Runtime Column Propagation - 这将独立于指定的列转换所有可用的列。

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多