【问题标题】:how to move file after reading the file in ibm datastage在ibm datastage中读取文件后如何移动文件
【发布时间】:2020-09-12 23:31:27
【问题描述】:

我有 1 个文件夹,其中有 4 个文件,它们是 sales_jan, sales_feb, debt_jan, debt_feb。我为每个销售和债务创建了特定的工作。问题是,如果我之前已经为sales_jan 运行过该作业,然后出现sales_feb,我不想再次重复阅读sales_jan,我只想阅读添加的最新文件被处理。为了读取文件,我传递了特定文件的模式(例如sales_*),但如果我这样使用它,那么舞台将再次重新处理sales_jan,尽管它已经有了。我想将已经读取的文件移动到另一个文件夹中。我如何在ibm datastage 中做到这一点?如果没有办法做到这一点,你对我的问题有什么建议。任何想法将不胜感激。

【问题讨论】:

    标签: datastage ibm-infosphere


    【解决方案1】:

    最简单的解决方案是使用作业后子例程(Linux/UNIX 上的 ExecSH,Windows 上的 ExecDOS)将文件移动到不同的位置。 由于您在 Sequential File 阶段使用通配符,因此您必须更加聪明地处理您的作业仅处理部分文件的情况。我更喜欢按顺序使用循环来编写它,一次处理一个文件,以便可以按文件处理移动。

    【讨论】:

    • 但如果我循环它,那么我需要编写所有文件名,因为用户只想单击运行,所以我正在使所有工作自动进行,无需用户干预图标而不进行任何编辑(因为他们不懂该工具)。
    【解决方案2】:

    您可以为您的工作已读取的每个文件创建一个标志。例如,为每个文件添加一个 maxdate 字段。当第一个文件最大日期小于第二个文件或新文件时然后读取最新文件。它可以通过使用简单的linux命令顺序或变压器来完成。就像前面提到的雷

    【讨论】:

      猜你喜欢
      • 2020-10-20
      • 2022-11-19
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 2017-10-25
      • 1970-01-01
      相关资源
      最近更新 更多