/*
SparkStreaming基于redis来管理整合kafka过程中涉及到的offset提交问题
思路:
1°、可能没有读取到数据,从源头来开始读取数据
2°、读取到了数据,从指定offset位置开始读取数据
2、对读取的kafka数据,进行业务处理
3、提交offset到redis
*/
object _01StreamingWithKafkaByRedisOps {
def main(args: Array[String]): Unit = {
Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
val conf = new SparkConf()
.setAppName("StreamingWithKafkaByRedis")
.setMaster("local")
val ssc = new StreamingContext(conf, Seconds(2))
val kafkaParams = Map[String, String](
"bootstrap.servers" -> " bigdata01:9092,bigdata02:9092,bigdata03:9092",
"auto.offset.reset" -> "smallest",
"group.id" -> "group-1907-5"
)
val topics = "flume-kafka".split(",").toSet
val messages:InputDStream[(String, String)] = crea
手动维护kafka偏移量offset存储在Redis中代码实现
最新推荐文章于 2022-09-08 00:32:32 发布
本文介绍如何手动维护Kafka的消费偏移量,并将其存储在Redis中,确保消息处理的幂等性和一致性。通过代码示例,详细阐述了实现过程。
摘要由CSDN通过智能技术生成