三十六、《大数据项目实战之用户行为分析》Spark Streaming整合Kafka计算实时单词数量

整合原理

Kafka在0.8和0.10版本之间引入了一个新的消费者API,Spark针对这两个版本有两个单独对应的Spark Streaming包可用,分别为spark-streaming-kafka-0-8和spark-streaming-kafka-0-10。需要注意的是,前者兼容Kafka 0.8、0.9、0.10,后者只兼容Kafka 0.10及之后的版本。而从Spark 2.3.0开始,对Kafka 0.8的支持就被弃用了,因此本书使用spark-streaming-kafka-0-10包进行讲解,使用的Kafka版本为3.1.0。

从Spark 1.3开始引入了一种新的无Receiver的直连(Direct)方法,以确保更强的端到端保证。这种方法不使用Receiver来接收数据,而是定期查询Kafka在每个主题和分区中的最新偏移量(Offset),并相应地定义在每个批处理中要处理的偏移量范围。启动处理数据的作业时,Kafka的简单消费者API用于从Kafka读取已定义的偏移量范围数据(类似于从文件系统读取文件)。这种方法的作业流程如图

与基于Receiver的方法相比,此方法具有以下优点:

  1. 简化并行性:不需要创建多个输入Kafka流进行合并。Spark
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据张老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值