I am using apache beam 2.2.0 and trying to write to GCS from my streaming pipeline once every 10 minutes using the following code:
input.apply(Window.<String>into(new GlobalWindows())
.triggering(
Repeatedly.forever(
AfterProcessingTime.pastFirstElementInPane()
.plusDelayOf(Duration.standardMinutes(10))
))
.discardingFiredPanes())
.apply("Write output files", TextIO.write()
.to(baseuri + "/" + randomUUIDString())
.withNumShards(1)
.withSuffix(".csv")
.withWindowedWrites());
I see the files getting written to the temporary directory (baseuri/UUIDString/.temp-beam-xxxxx) every 10 minutes but the writes never get finalized and written to baseuri + "/" + randomUUIDString(). Am I missing something here?
I have also attached the dataflow UI screenshot showing the "Write output files" step.