每个转换都会在文件夹中创建一个csv文件,我想在转换完成后上传所有这些文件。我添加了一个Dummy
,但这个过程并没有像我期望的那样工作。每个转换都将执行Hadoop Copy Files
步骤。为什么?我怎么设计流量?感谢。
答案 0 :(得分:2)
首先,如果可能的话,尝试并行启动.ktr文件(右键单击START Step>点击并行启动下一个条目)。这将确保所有ktr并行发射。
其次,您可以选择以下任一步骤,具体取决于您的可行性(而非虚拟步骤):
我只是想在将数据复制到HDFS之前对文件进行某种检查。
希望有所帮助:)
答案 1 :(得分:1)
你不能像你那样加入转换。
每次转化,一旦成功,将遵循虚拟步骤,因此它将被要求进行每次转换。
如果您想等到最后一次转换完成后只运行一次Hadoop复制文件步骤,您需要执行以下两项操作之一:
按顺序运行转换,其中每个ktr将在前一个ktr成功后调用(较慢)
正如另一个答案中所建议的,并行启动KTR,但有一点需要注意:它们需要从子作业中调用。以下是这个想法:
您的主要工作有一个开始,调用子作业,并且成功后,调用Hadoop复制文件步骤。
您的子作业有一个开始,从中可以在不同的流中调用所有转换。您使用"并行启动下一个条目"所有这些都是立刻发布的。
子作业将一直运行,直到最后一次转换完成,然后才将流传递给Hadoop复制文件步骤,该步骤只会启动一次。