1

我需要自动化一个将新数据文件加载到数据库中的过程。我的问题是关于以自动化方式确定哪些文件是“新”文件的最佳方法。

文件是从每晚同步的目录中检索的,因此文件列表不断增长。我没有删除已检索文件的选项。

新记录存储在原始数据表中,该表有一个字段指示每条记录起源的文件名,因此我可以将当​​前目录中的所有文件名与原始数据表中已有的文件名进行比较,并仅处理那些不在的文件名常见的。

或者我可以使用文件名中的时间戳,并且只处理自上次运行导入过程以来创建的那些文件。

我倾向于使用第一种方法,因为它似乎不太容易出错,但我没有太多运气来确定这是否真的是真的。通过将所有文件名与数据库中已有的文件名进行比较,以这种方式确定新文件的缺陷是什么?

4

1 回答 1

1

文件名比较:

  • 如果您有数百万个文件,那么比较可能不是您想要的。
  • 您必须确保所述文件夹中的文件永远不会被删除。

按日期获取文件名:

  • 由于这些文件名每天检索一次可以保证准确性。(即使他们以毫秒的差异创建)
  • 如果那里有很多文件,那将是有效的。
  • Pentaho 给出的是修改日期而不是创建日期。

要执行上述任一操作,您可以使用以下 Pentaho 步骤。

文件名

配置获取文件名步骤:

  • 文件/目录:给出包含文件的文件夹路径。

  • 通配符(RegExp):.*\.*获取全部或.*\.pdf获取特定
    格式。

于 2016-08-27T17:27:00.837 回答