Pentaho 虚拟步骤在作业中不起作用

Pentaho 虚拟步骤在作业中不起作用,pentaho,kettle,Pentaho,Kettle,每次转换都会在一个文件夹中创建一个csv文件,我想在转换完成后上传所有文件。我添加了一个Dummy,但是这个过程没有按照我的预期工作。每个转换都将执行Hadoop复制文件步骤。为什么?我如何设计流程?谢谢 首先,如果可能,尝试并行启动.ktr文件(右键单击开始步骤>单击并行启动下一个条目)。这将确保所有ktr并行启动 其次,您可以根据您的可行性选择以下任一步骤(而不是虚拟步骤): “检查文件是否存在”“步骤:在转到Hadoop步骤之前,您可以做一个小检查,检查所有文件是否已正确创建,然后继续执行

每次转换都会在一个文件夹中创建一个csv文件,我想在转换完成后上传所有文件。我添加了一个
Dummy
,但是这个过程没有按照我的预期工作。每个转换都将执行
Hadoop复制文件
步骤。为什么?我如何设计流程?谢谢


首先,如果可能,尝试并行启动.ktr文件(右键单击开始步骤>单击并行启动下一个条目)。这将确保所有ktr并行启动

其次,您可以根据您的可行性选择以下任一步骤(而不是虚拟步骤):

  • 检查文件是否存在”“步骤:在转到Hadoop步骤之前,您可以做一个小检查,检查所有文件是否已正确创建,然后继续执行
  • 等待”步骤:您可以给一些时间等待所有步骤完成,然后再转到下一个条目。我不建议这样做,因为编写csv文件的时间可能会有所不同,除非您完全确定某个时间
  • 评估文件度量值””:在继续之前检查文件计数。在您的情况下,检查文件计数是否为9
  • 我只是想在将数据复制到HDFS之前对文件进行某种检查


    希望有帮助:)

    您不能像现在这样加入转换

    每次转换成功后,都会进入虚拟步骤,因此每次转换都会调用虚拟步骤

    如果要等到最后一次转换完成后才运行Hadoop复制文件步骤,则需要执行以下两项操作之一:

  • 按顺序运行转换,每个ktr将在前一个ktr成功时调用(较慢)

  • 正如另一个答案中所建议的,并行启动KTR,但有一个警告:它们需要从子作业调用。我的想法是:

  • 主作业有一个开始,调用一个子作业,成功后调用Hadoop复制文件步骤

    您的子作业有一个开始,从这个开始,在不同的流中调用所有转换。您使用“并行启动下一个条目”,因此所有条目都将同时启动

    子作业将一直运行,直到最后一次转换完成,然后流才会传递到Hadoop复制文件步骤,该步骤将只启动一次