spark streaming 消费kafka两种方式的对比

1、读取数据的并发度

Receiver的方式:采用的是单核的模式,即使你设置了多个线程数,你的上下文环境中设置的并行度很大,也不会产生影响,还是1。只有通过配置多个receiver才会并行的读取kafka中的数据

Direct的方式:读取数据的并行度和topic的分区数相同,而且生成的DStream的并行度也和topic的分区数相同,一一对应。

2、生成的DSream的并行度

Receiver的方式:程序中Batch的间隔是4000ms,每Batch的数据构成一个RDD,在整个执行的环境中spark.streaming.blockInterval =100。生成的DStream的并发度是4000/100 =40

 

Direct的方式:生成的DStream的并行度也和topic的分区数相同,一一对应。

3、kafka日志文件

Receiver的方式:默认情况下这种方式读取的数据都是存在内存中的很容易导致OOM,如果要保证零数据丢失,必须

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值