我在google存储中有许多文件,在应用了一个简单的ParDo转换之后,我必须将这些文件写到BigQuery中的多个表中,我正试图使用一个管道来执行该转换。因此,基本上,我有许多并行的、未连接的源和汇,它们在一个数据流作业中以单个管道运行。在Pardo转换中,我有一个条件,如果它的值为true,那么对特定的BigQuery表( transform )的写入必须停止,而写入其他BigQuery表(其他转换)时仍然保持如常。

在这张图片中,有2个平行源和2个平行汇,由于2014-08-01年的源数据有一些错误,第一次转换失败了。一旦2014-08-01转换失败,2014-08-02转换被取消.2014-08-02年的转换没有坏的数据。
是否有办法防止其他转换的取消?
发布于 2016-08-19 17:55:14
目前,在Dataflow服务中,整个管道要么成功要么失败,任何失败都将取消其余管道。没有办法改变这种行为;如果您想让它们单独成功或失败,则需要运行单独的管道。
注意,在操作上,您可以从同一个Java主程序运行两个管道;只需创建两个不同的管道对象并分别调用run()即可。
https://stackoverflow.com/questions/39014052
复制相似问题