Google bigquery 来自KafkaIO的Apache波束流-需要窗口
我正在使用KafkaIO API从Kafka主题流式传输消息 管道流量如下所示: KafkaStream-->使用转换器-->保存到BigQuery解码消息 我解码消息并使用BigQueryIO保存到BigQuery。我想知道我是否需要使用窗口Google bigquery 来自KafkaIO的Apache波束流-需要窗口,google-bigquery,apache-beam,Google Bigquery,Apache Beam,我正在使用KafkaIO API从Kafka主题流式传输消息 管道流量如下所示: KafkaStream-->使用转换器-->保存到BigQuery解码消息 我解码消息并使用BigQueryIO保存到BigQuery。我想知道我是否需要使用窗口 Window.into[Array[Byte]](FixedWindows.of(Duration.standardSeconds(10))) .triggering( Repeatedly
Window.into[Array[Byte]](FixedWindows.of(Duration.standardSeconds(10)))
.triggering(
Repeatedly
.forever(
AfterProcessingTime
.pastFirstElementInPane()
.plusDelayOf(Duration.standardSeconds(10))
)
)
.withAllowedLateness(Duration.standardSeconds(0))
.discardingFiredPanes()
)
根据documenation窗口是必需的,以防我们正在进行任何计算,如GroupByKey等。因为我只是解码数组字节消息并将它们存储到BigQuery中,所以可能不需要
请让我知道,我是否需要使用窗口?有一个答案已发布到a,其中数据来自PubSub。主要思想是不可能收集无界PCollection的所有元素,因为不断添加新元素,因此必须实施以下两种策略之一:
- :应首先设置非全局窗口功能李>
- :您可以设置无界PCollection的触发器,使其能够定期更新无界数据集,即使订阅中的数据仍在流动
pipeline_options.view_as(StandardOptions).streaming = True