Опитвам се да разбера жизнения цикъл на трансформациите в конвейер.
Имам конвейерна линия с няколко трансформации.
Pipeline p = Pipeline.create(options);
p.apply(TextIO.Read.named("ReadLines").from(inputFile))
.apply(new ReadData())
.apply(new Match())
.apply(new Record())
.apply(BigQueryIO.Write
.to(tableRef)
.withSchema(getSchema())
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_TRUNCATE));
Във всяка от тези трансформации има един DoFn. Трябва ли целият пакет, който възелът обработва, да бъде завършен, преди да преминете към следващата трансформация?
Това, което наблюдавам поне при DirectPipelineRunner, е, че целият набор от данни се чете, преди да се изпълни трансформацията на съвпадението.