Я передаю сообщения из темы Kafka, используя KafkaIO API
https://beam.apache.org/documentation/sdks/javadoc/2.0.0/org/apache/beam/sdk/io/kafka/KafkaIO.html
Трубопроводный поток выглядит следующим образом:
KafkaStream -> Декодирование сообщения с использованием преобразователя -> Сохранить в BigQuery
Я расшифровываю сообщение и сохраняю его в BigQuery с помощью BigQueryIO. Я хотел бы знать, нужно ли мне использовать окно или нет.
Window.into[Array[Byte]](FixedWindows.of(Duration.standardSeconds(10)))
.triggering(
Repeatedly
.forever(
AfterProcessingTime
.pastFirstElementInPane()
.plusDelayOf(Duration.standardSeconds(10))
)
)
.withAllowedLateness(Duration.standardSeconds(0))
.discardingFiredPanes()
)
в соответствии с окном документации требуется в случае, если мы делаем какие-либо вычисления, такие как GroupByKey и т. Д. Поскольку я просто декодирую сообщение массива байтов и сохраняю их в BigQuery, это может не потребоваться.
Пожалуйста, дайте мне знать, мне нужно использовать окно или нет?