在其他管道转换继续运行时停止执行管道转换

时间:2016-08-18 09:04:00

标签: google-bigquery google-cloud-platform google-cloud-dataflow

我在google存储中有很多文件,我应该在应用简单的ParDo转换后写入BigQuery中的多个表,我试图使用单个管道执行。所以基本上我有一些并行的未连接源和接收器在一个数据流作业中使用单个管道运行。 在Pardo转换中,我有一个条件,如果它的计算结果为true,那么在写入其他BigQuery表(其他转换)时,必须停止写入特定的BigQuery表(转换)。 Regular Expression

在此图片中,有2个并行源和2个并行接收器,由于2014-08-01日期源中存在一些不良数据,因此第一次转换失败。 2014-08-01转型失败后,2014-08-02转型被取消。 2014-08-02转型没有糟糕的数据。

有没有办法阻止取消其他转换?

1 个答案:

答案 0 :(得分:2)

目前在Dataflow服务中,整个管道将成功或失败,任何故障都将取消管道的其余部分。没有办法改变这种行为;如果你想让它们成功或单独失败,你需要运行单独的管道。

请注意,在操作上,您可以从同一Java主程序运行两个管道;只需创建两个不同的Pipeline对象并分别对它们调用run()。