googlecloudpubsub:如何只读最新记录

6rqinv9w  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(380)

在Kafka有两种设置 earliest 以及 latest 从主题的最早偏移量(0)或最新事件(对实时有用)读取
我现在将pubsub与dataflow和beam一起使用,但默认情况下,每次启动作业时都会读取最早的数据。如何配置它以便它只读取最新的记录?
作为 latest 是Kafka的默认值,有人能解释为什么这在pub/sub中不容易实现吗?

ddhy6vgd

ddhy6vgd1#

最新的定义是什么?实际上,对于beam,pubsubio reader是一个无限读取。就是说,没有尽头,总有一个更近的最近之后!
所以,这是哲学的部分。事实上,你必须定义,最新的比较什么。使用beam,可以使用窗口。然后,你可以说,在5分钟的时间内,我想处理最后一个。这里最新的定义是正确的,您可以实现它。

pdsfdshx

pdsfdshx2#

您可以尝试使用seek选项:https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/seek
它仍然有点初级,因为您需要确定时间戳或快照。
我猜apachebeam选项将使用withtimestampattribute
https://beam.apache.org/releases/javadoc/2.15.0/org/apache/beam/sdk/io/gcp/pubsub/pubsubio.read.html#withtimestampattribute-java.lang.string文件-

相关问题