0

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.enter image description here

Andrew Nguonly
  • 2,258
  • 1
  • 17
  • 23
ghostcoder
  • 473
  • 1
  • 5
  • 17

0 Answers0