I am getting below error while running beam java sdk model using dataflow runner.
java.lang.IllegalArgumentException: Class interface org.apache.beam.sdk.options.PipelineOptions missing a property named 'output'.
at org.apache.beam.sdk.options.PipelineOptionsFactory.parseObjects(PipelineOptionsFactory.java:1488)
at org.apache.beam.sdk.options.PipelineOptionsFactory.access$400(PipelineOptionsFactory.java:110)
at org.apache.beam.sdk.options.PipelineOptionsFactory$Builder.as(PipelineOptionsFactory.java:297)
at org.apache.beam.sdk.options.PipelineOptionsFactory$Builder.create(PipelineOptionsFactory.java:276)
at com.aail.beam.StarterPipeline.main(StarterPipeline.java:51)
I had installed google cloud platform plugin in eclipse and directly created Google Cloud Dataflow Java project in eclipse itself and trying to execute the sample StarterPipeline job using dataflow pipeline runner by giving needed arguments as
--output=gs://wordcountt-storage-bucket/output/
I tried of solving the error by changing the --output=gs://wordcountt-storage-bucket/output/ argument as output=gs://wordcountt-storage-bucket/output/ . But it doesn't worked. I tried to run through command line instead of direct run in eclipse as follows
mvn compile exec:java \
-Dexec.mainClass=com.aail.beam.StarterPipeline \
-Dexec.args="--project=sample-wordcount-beam \
--stagingLocation=gs://wordcountt-storage-bucket/staging/ \
--output=gs://wordcountt-storage-bucket/output \
--runner=DataflowRunner"
which in turn throws the same error.
Reference: Dataflow job failing with output property missing error
I tried following as shown in the reference link but that also doesn't work. So can anyone help me out how to resolve property output missing error.