繁体   English   中英

在Pentaho水壶中,如何检查文件名是否存在?

[英]In Pentaho kettle, how to check the filename is exists or not?

我是pentaho水壶的新手...

现在,我有一个包含许多.txt文件的文件夹。

举例来说:20121012.txt,20121014.txt .....

每次我运行水壶作业时,它将grep所有这些文件以导入数据库。

我需要在导入db之前处理检查,以防止数据重复。

问题是,如何让水壶注意到已经导入的文件名?

例如:

20121012.txt <=如果该文件被导入,它将在下一次检查它的文件名,如果它是相同的文件名,则不会被导入。

在这种情况下,我不能仅在“检查文件是否存在”步骤中简单地设置特定文件“ 20121012.txt”。 这是因为txt文件很大。 如果文件名是一天,则1年包含365-366天。 我无法以这种方式对所有文件进行硬编码。

因此,可能的方法是在导入数据库之前检查该过程文件的文件名是否存在。

这就是我的问题,我该怎么做? 我需要使用哪些步骤或工作流程? 任何人都可以提供可以执行此操作的详细步骤吗?

希望收到您的来信,如果您需要更多信息,请告诉我。

谢谢大家的帮助!

您可以通过将已处理的文件列表存储在数据库中的表之类的位置来完成此操作。 在另一步骤中加载表,然后通过合并将步骤中的流合并,并仅传递文件加载步骤中不在其他流中的那些文件。

确保以后再用所有新处理的文件更新已处理过的表。

您可以使用“获取文件名”步骤。 在此步骤中:设置用于存储文件的文件夹,然后设置通配符(例如,如果要从文件夹中获取所有文件,则为“。*”)。

如果数据库存储了已导入的文件名,则可以使用“数据库查找”检查文件名是否已存在于数据库中,然后过滤流以仅传递数据库中未找到的文件名,从而使转换独立。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM