您当前的位置: 首页 >  ar

段智华

暂无认证

  • 0浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spark Streaming 2.2.1 处理Kafka数据源的实战准备

段智华 发布时间:2018-02-24 15:19:09 ,浏览量:0

Spark Streaming 2.2.1 处理Kafka数据源的实战准备

Kafka是一种高吞吐量的分布式发布订阅消息系统,Spark Streaming读取Kafka数据支持二种方式:Receiver方式和No Receivers方式。

(1)Receiver方式:Spark Streaming kafkautil使用createStream方法。

(2)No Receivers方式:Spark Streaming kafkautil使用createDirectStream方法。

目前No Receivers方式在企业中使用的越来越多,No Receivers方式具有更强的自由度控制、语义一致性。No Receivers方式更符合数据读取和数据操作,在生产环境中建议采用NoReceivers direct的方式。

 

(一) Kafka基础知识的准备。

发布消息通常有两种模式:队列模式(Queuing)和发布-订阅模式(Publish-Subscribe)。队列模式中,Consumers可以同时从服务端读取消息,每个消息只被其中一个Consumer读到;发布-订阅模式中消息被广播到所有的Consumer中。

Kafka的Topic的分区数,是Consumer可以读取的并行数的最高限制值,这里对应Spark Streaming并行读取(Read  Parallelisms)的最大值。

当Consumer使用相同的GroupId去读取同一个Topic数据时,该Topic会将分区数据分发到各个Consumer,即队列模式的消息发布模式;如果Consumer使用不同的GroupID去读取同一个Topic数据时,该Topic的分区数据会广播到各个Consumer上,即使用广播的消息发

关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.0812s