手动维护kafka偏移量offset存储在Redis中代码实现

本文介绍如何手动维护Kafka的消费偏移量,并将其存储在Redis中,确保消息处理的幂等性和一致性。通过代码示例,详细阐述了实现过程。
摘要由CSDN通过智能技术生成

/*
    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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值