Мы создали конвейер Apache Beam, который успешно работает при работе по прямому конвейеру.См. Проблему ниже: -
BigQuery writeTableRows Постоянная запись в буфер
Когда один и тот же код передается в Google DataFlow, он меняется на Потоковую передачу и не будет пакетироваться.
rows.apply("Load", BigQueryIO.writeTableRows()
.to(table)
.withSchema(schema)
//.withTimePartitioning(timePartitioning)
.withMethod(BigQueryIO.Write.Method.FILE_LOADS)
.withTriggeringFrequency(triggeringFrequency)
.withNumFileShards(numFileShards)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED)
.withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND));
Мы изменили параметры для конвейера следующим образом: -
DataflowPipelineOptions options = PipelineOptionsFactory.as(DataflowPipelineOptions.class);
options.setProject(projectId);
options.setTempLocation(tempLocation);
options.setStreaming(false);
options.setRunner(DataflowRunner.class);
Но setStreaming здесь, похоже, в значительной степени игнорируется.
Какой параметр требуется использоватьпакетирование в потоке данных Google?