Pentaho 快速获取文件夹的文件计数

Pentaho 快速获取文件夹的文件计数,pentaho,kettle,Pentaho,Kettle,我有一个Pentaho作业,在其中一个转换中,我希望获得文件夹中文件的数量。我尝试了两种不同的方法,但都花了2分钟来执行。我想知道是否有一个步骤可以用来以更有效的方式做到这一点 方法1-获取文件行数->设置变量 在“获取文件行数”步骤中,我有一个目录和一个通配符(.*.xml)来获取文件夹中xml文件的数量。在“内容”选项卡中,我将文件计数保存到一个字段(fileCount),然后将该字段保存到一个变量中。对于包含3722个xml文件的文件夹,运行时间为2:15 方法2-获取文件名->分组依

我有一个Pentaho作业,在其中一个转换中,我希望获得文件夹中文件的数量。我尝试了两种不同的方法,但都花了2分钟来执行。我想知道是否有一个步骤可以用来以更有效的方式做到这一点

方法1-获取文件行数->设置变量

在“获取文件行数”步骤中,我有一个目录和一个通配符(.*.xml)来获取文件夹中xml文件的数量。在“内容”选项卡中,我将文件计数保存到一个字段(fileCount),然后将该字段保存到一个变量中。对于包含3722个xml文件的文件夹,运行时间为2:15

方法2-获取文件名->分组依据->设置变量

使用这种方法,我有一个与“Get File rows count”步骤类似的设置,但是在我使用“Number of rows(无字段参数)”类型执行group by操作之后。对于相同的3722文件,此方法以2:30的时间运行


我认为这些都需要很长时间,因为它试图获得的文件在内存中,但我只关心计数。我们希望找到一种方法来计算行数。

获取文件行数的步骤将计算每个文件中的每一行,因此速度很慢也就不足为奇了

使用获取文件名步骤,无论文件大小如何,都应该非常快速。幸运的是,我已经准备好了一个装满XML文件的文件夹,所以这里有一个预期的屏幕截图(在我笔记本电脑上的linux虚拟机中)


如果使用此步骤时仍然存在问题,请首先确保已从转换中删除其他输入步骤,因为它们仍将运行,并且可能会产生干扰。其次,检查防病毒软件在Spoon访问每个文件以获取元数据时是否正在尝试扫描这些文件。

感谢您的输入,使用方法二确实更有意义,尤其是在您不关心行数的情况下。我做了另一个测试,发现是什么导致了速度变慢。当我查看一个本地文件夹时,它运行得非常快,速度与您所附的屏幕截图相似。当我在一个网络文件夹上运行时,花了两分钟的时间。这让我相信问题在于与共享位置的通信,而不是步骤本身。