我有一个用Java编写的Apache Beam管道。我遇到的问题是某些例程没有在该管道的所有实例上执行。
这些例程就像在GCS中记录消息或排除文件一样简单。它们都在以下代码之后运行:
p.run.waitUntilFinish();
我们认为这与云数据流有关,我们确定了这个问题。我们无法在DirectRunner上重现,我们没有尝试除此之外的任何其他跑步者。
我认为这与分布式处理的性质有关,但到目前为止我无法确定根本原因。最新的Apache Beam示例代码包含p.run()...
的try / catch块,这让我想到可能导致问题的未被捕获的异常被抛出。
思想?