专业的JAVA编程教程与资源

网站首页 > java教程 正文

Spark Streaming 从指定时间戳开始消费 kafka 数据

temp10 2024-09-19 04:04:13 java教程 13 ℃ 0 评论

一、需求

从指定时间戳(比如 2 小时前)开始消费 Kafka 数据

二、思路

我们知道通过 Kafka 的 API 可以得到指定时间戳对应数据所在的 segment 的起始 offset。那么就可以通过这个功能来粗略的实现需求。

Spark Streaming 从指定时间戳开始消费 kafka 数据

三、实现

我们知道 KafkaUitls.createDirectStream 这个接口可以指定起始点的 offset,那么我们需要做的就变成如下三步:

  • 获取 topic 对应的 TopicAndPartitions ,得到当前 topic 有多少 partition
  • 从 Kafka 获取每个 partition 指定时间戳所在 segment 的起始 offset
  • 将步骤 2 中的 offset 作为参数传入 createDirectStream 即可

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表