http://spark.apache.org/docs/2.4.5/streaming-kafka-0-8-integration.html
Receiver DStream 在 spark-streaming-kafka-0-10 版本中已经不支持啦。
Direct DStream 直连模式好处:
-
创建尽可能多的RDD分区 ,和kafka分区对应。 sparkStream 针对消费的kafka的topic每个分区创建一个消费者去直接消费。
-
不需要预写日志
-
数据严格消费一次。实现了消费的时候严格一次,输出的时候没有做到严格一次。不需要zookeeper 自己基于checkpoint 来跟踪offset 减少SparkStream 和 zookeeper/kafka的不一致性 。 但是输出到外部系统没有做到严格一次,需要外部系统额外的幂等操作或者原子事务来保证
网友评论