beam-sdks-java-core的最新版本是2.3.0。但是,如果我的管道代码使用beam-sdks-java-core 2.2.0,那么我的管道在数据流中运行时会使用2.2.0或2.3.0吗?
答案 0 :(得分:1)
管道将使用v2.2.0实现。 Apache Beam SDK与Google Cloud Dataflow分开。您可以控制使用的Beam版本。 Dataflow简单地执行Beam管道。 Dataflow UI显示正在使用的Beam版本。
答案 1 :(得分:1)
将这个答案作为@Andrew答案的补充。
如果您使用的是Maven,您还可以在管道的beam-sdks-java-core
配置文件中指定正在使用的pom.xml
版本,如Apache Beam documentation中所述:
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-core</artifactId>
<version>2.2.0</version>
</dependency>
为了指定您要使用的版本,您可以按照Maven's version range specification上的指南进行操作。
您还可以在this other link中看到可用的Maven依赖项的完整列表,如您所见,对于Cloud Sataflow SDK jor Java 2.2.0,org.apache.beam <--> beam-sdks-java-core <--> 2.2.0
是可用选项之一。 / p>
如果您没有使用Maven,那么在任何情况下,Pipeline都应该使用您在工作目录中指定的依赖关系,因为它将从那里获取所需的文件以使用SDK。