在Kafka有两种设置 earliest 以及 latest 从主题的最早偏移量(0)或最新事件(对实时有用)读取我现在将pubsub与dataflow和beam一起使用,但默认情况下,每次启动作业时都会读取最早的数据。如何配置它以便它只读取最新的记录?作为 latest 是Kafka的默认值,有人能解释为什么这在pub/sub中不容易实现吗?
earliest
latest
ddhy6vgd1#
最新的定义是什么?实际上,对于beam,pubsubio reader是一个无限读取。就是说,没有尽头,总有一个更近的最近之后!所以,这是哲学的部分。事实上,你必须定义,最新的比较什么。使用beam,可以使用窗口。然后,你可以说,在5分钟的时间内,我想处理最后一个。这里最新的定义是正确的,您可以实现它。
pdsfdshx2#
您可以尝试使用seek选项:https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/seek它仍然有点初级,因为您需要确定时间戳或快照。我猜apachebeam选项将使用withtimestampattributehttps://beam.apache.org/releases/javadoc/2.15.0/org/apache/beam/sdk/io/gcp/pubsub/pubsubio.read.html#withtimestampattribute-java.lang.string文件-
2条答案
按热度按时间ddhy6vgd1#
最新的定义是什么?实际上,对于beam,pubsubio reader是一个无限读取。就是说,没有尽头,总有一个更近的最近之后!
所以,这是哲学的部分。事实上,你必须定义,最新的比较什么。使用beam,可以使用窗口。然后,你可以说,在5分钟的时间内,我想处理最后一个。这里最新的定义是正确的,您可以实现它。
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文件-