- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何从 Kafka 集群获取指定日期的消息或数据。例如 9 月 13 日,任何人都可以为此提供代码。我用谷歌搜索了一下,只找到了理论,但我想要代码
最佳答案
没有为此的访问方法。另外,在 Kafka v0.10
之前,消息不包含任何时间戳信息,因此无法知道消息何时写入主题。
从 Kafka v0.10
开始,每条消息都包含一个元数据时间戳属性,该属性由生产者在消息创建时间设置,或由代理在消息插入时间设置。计划建立基于时间的索引,但尚未可用。因此,您需要使用整个主题并检查时间戳字段(并忽略您不感兴趣的所有消息)。要找到开头,您还可以对偏移量和时间戳进行二分搜索,以更快地找到第一条消息。
更新:
Kakfa 0.10.1
添加了基于时间的索引。它允许seek
到时间戳等于或大于给定时间戳的第一条记录。您可以通过 KafkaConsumer#offsetsForTime() 来使用它。这将返回相应的偏移量,您可以将它们输入到 KafkaConsumer#seek() 中。您可以仅使用数据并通过 ConsumerRecord#timestamp()
检查记录时间戳字段,以查看何时可以停止处理。
请注意,数据严格按偏移量排序,而不是按时间戳排序。因此,在处理过程中,您可能会得到时间戳小于开始时间戳的“迟到”记录(不过您可以简单地跳过这些记录)。
一个更困难的问题是在搜索间隔结束时迟到的记录。在您获得时间戳大于搜索间隔的第一个时间戳后,稍后可能仍存在带有时间戳的记录,这些记录是您搜索间隔的一部分(如果这些记录确实被附加到“迟到”主题)。但没有办法知道这一点。因此,您可能想继续阅读“更多”记录并检查是否有“迟到”记录。 “一些记录”意味着多少,是您需要自己做出的设计决定。
不过,没有通用指南 - 如果您对“写入模式”有更多了解,它可以帮助您定义一个好的策略,确定在搜索间隔“结束”后您想要使用多少条记录。当然有两种默认策略:(1)在时间戳大于搜索间隔的第一个记录处停止(并有效地忽略任何迟到的记录 - 如果您使用“日志附加时间”配置,这当然是一个安全的策略); (2) 你读到日志的末尾——就完整性而言,这是最安全的策略,但可能会导致过高的开销(另请注意,因为记录可以随时附加,并且如果记录“延迟”可能任意大,到达日志末尾后,甚至可能会追加一条迟到的记录)。
在实践中,考虑“最大预期延迟”并进行读取可能是个好主意,直到获得时间戳大于此延迟上限的记录为止。
关于apache-kafka - 从 Kafka 检索基于时间戳的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39514167/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!