二、kafka消费模型---Receiver和Direct方式讲解

  • 1、两种方式特点以及优缺点讲解
  • 2、Spark Streaming 整合kafka的两种方式代码展示

7.1、Receiver Approach

Receiver是使用Kafka的high level的consumer API来实现的。Receiver从Kafka中获取数据都是存储在Spark Executor内存中的,然后Spark Streaming启动的job会去处理那些数据

然而这种方式很可能会丢失数据,如果要启用高可靠机制,让数据零丢失,就必须启动Spark Streaming预写日志机制(WAL,Write Ahead Log)。该机制会同步地接收到Kafka数据写入分布式文件系统,比如HDFS上的预写日志中。所有底层节点出现了失败,也可以使用预写日志的数据进行恢复。

saprk streaming + kafka整合(Receiver -based Approach)博文链接:
代码实现:
https://blog.youkuaiyun.com/murphyZ/article/details/88238878

7.2、Direct Approach (No Receiver)

它会周期性的查询kafka,来获取每个topic + partition的最新offset,从而定义每一个batch的offset的范围。当处理数据的job启动时,就会使用kafka简单的消费者API来获取kafka指定offset的范围的数据。

1)、它

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值