我希望在eclipse中使用直接转轮运行管道,并在DoFn函数和调试执行中放置一个断点。我尝试通过以下步骤设置直接运行程序:

<profiles> <profile> <id>direct-runner</id> <activation> <activeByDefault>true</activeByDefault> </activation> <dependencies> <dependency> <groupId>org.apache.beam</groupId> <artifactId>beam-runners-direct-java</artifactId> <version>0.2.0-incubating</version> </dependency> </dependencies> </profile> </profiles>
<pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.4.0</version> <executions> <execution> <goals> <goal>java</goal> </goals> </execution> </executions> <configuration> <cleanupDaemonThreads>false</cleanupDaemonThreads> <mainClass>com.MyMainClass</mainClass> </configuration> </plugin> </plugins> </pluginManagement>

当我使用上面的调试配置作业运行时,将在GCP数据流中启动,而不是本地JVM线程,并且我的断点永远不会被击中。
发布于 2017-06-14 04:46:02
可能是在测试方法中创建管道的方式。尝试使用TestPipeline util类创建管道,如下所示
public TestPipeline p = TestPipeline.create();https://stackoverflow.com/questions/44535374
复制相似问题