В потоке данных SDK 2.4.0 я имел обыкновение запускать:
PipelineOptionsFactory.register(MyPipelineOptions.class);
MyPipelineOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().create().as(MyPipelineOptions.class);
options.setRunner(DataflowRunner.class);
Однако в Apache Beam SDK 2.9.0 мне нужно установить бегун в аргументах, используя --runner=DataflowRunner
, потому что в противном случае он не будет работать на create()
(вторая строка). Это желаемое поведение или есть способ установить бегуна с помощью setRunner
после чтения других параметров из аргументов?
Используемые зависимости Maven:
<dependencies>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-runners-google-cloud-dataflow-java</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>