spark streaming基础知识1
Posted 我的空中楼阁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark streaming基础知识1相关的知识,希望对你有一定的参考价值。
1.怎么理解spark streaming中的dstream?
它是spark streaming的基础数据结构,代表着(time,RDD)序列,有两种生成方式,一种是
基于流数据创建(kafka,socket...),一种是基于已有的dstream进行转换产生.
在spark streaming作业运行的时候,Dstream会根据它的duration,定期生成RDD.
而且会进一步根据rdd生成作业,排入队列,调度器触发执行.
由此可以理解,为什么说spark streaming是微批处理的.它提前生成好一批一批的作业,
调度执行.并不是真正的实时的流.
2.kafkaUitls.createstream和createDirectStream有什么不同?
directStream:返回的Rdd的partition的数量与topic/partitions的数量一致,不需要写代码来控制并发取数据的逻辑.
directStream返回的key,value就是原始的发送到kafka中的key,value,key就是消息本身的key,value就是消息.
Directstream直接派生自inputStream,而kafkastream派生自receiverinputstream,同上面的理解,
directstream是运行在driver端的,而且支持后压的特性.
而createstream是运行在worker端的.
directstream没有更新zookeeper上的offset,需要自己手动更新.
以上是关于spark streaming基础知识1的主要内容,如果未能解决你的问题,请参考以下文章
Spark基础学习笔记33:Spark Streaming数据源
Spark深入学习 -15Spark Streaming前奏-Kafka初体验
大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池