0

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

4

2 回答 2

0

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

于 2020-09-12T15:31:27.793 回答
0

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

于 2020-09-11T03:47:54.407 回答