SparkStreaming+kafak的direct模式逻辑分析(图片展示+文字说明)

本文探讨了Spark Streaming结合Kafka Direct模式的工作原理及优势,包括并行度的简化、消费者偏移量的管理方式等,并对比了Direct模式与Receiver模式的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sparkstreaming+kafka direct模式:

将kafka看成存储数据的一方,sparkstreaming处理数据主动去拿数据,不需要一个task一直被占用接受数据

sparkStreaming+kafka的direct模式的并行度:生成的dstream中的rdd的并行度与读取的kafka的topic的partition个数一致。Direct模式相对于receiver模式来说简化了并行度。

Direct模式没有使用zookeeper来维护消费者偏移量,使用的是spark来管理消费者的offset。默认将消费者offset存储在内存中,如果设置了checkpoint,那么在checkpoint中也有一份消费者offset。

Receiver模式和direct模式的区别:

简化并行度

Receiver是zookeeper来管理

Direct是自己管理,没有任何zookeeper的信息

Receiver是高级,direct是低级的。

直接读取kafaka中的数据,将kafka看成存储消息的一方

使用spark自己来管理消费者offset,默认存在内存中,如果设置checkpoint,那么在checkpoint中也有一份备份offset

如何从checkpoint中恢复消费者offset

恢复过程中,把旧的逻辑也恢复过来了,无法加载新的逻辑

采用了读取kafka低级API来实现消费,可以自己来维护offset。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值