码迷,mamicode.com
首页 > 其他好文 > 详细

streaming kafka direct 详解

时间:2017-03-05 13:30:23      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:inf   created   keyword   str   www   space   tracker   spark   osi   

http://blog.cloudera.com/blog/2015/03/exactly-once-spark-streaming-from-apache-kafka/
streaming通过direct接收数据的入口是createDirectStream,调用该方法的时候会先创建
val kc = new KafkaCluster(kafkaParams)
这个类会获取kafka的partition信息,并创建DirectKafkaInputStream类,每个类都对应一个topic,通过foreachRDD可以获取每个partition的offset等信息。到了batch time后,这个类的compute方法就会被调用(这块可以参考spark streaming文件夹下的文章),接着就是:
1. 获取kafka partition的untilOffset,这样就确定了获取数据的区间
2. 构建一个kafkaRDD实例。
3. 将offset信息报给InputInfoTracker
4. 返回该RDD
kafkaRDD和一般的RDD一样,整个过程都是lazy的,数据都是放在kafka中,只有真正action的时候才会从kafka拉取数据。


streaming kafka direct 详解

标签:inf   created   keyword   str   www   space   tracker   spark   osi   

原文地址:http://www.cnblogs.com/sunrye/p/6504884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!