微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SparkStreaming(一)——概述

SparkStreaming是什么?

Spark Streaming用于流式数据的处理。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。

 

 它的这种输入->处理->输出模型可以类比RDD的计算模型;只不过,相比于RDD,它的数据源是实时的。

Spark Streaming使用离散化流(discretized stream)作为抽象表示,叫作DStream。DStream 是随时间推移而收到的数据的序列。在内部,每个时间区间收到的数据都作为 RDD 存在,而DStream是由这些RDD所组成的序列(因此得名“离散化”)。

 

SparkStreaming架构

 

 

架构图1

架构图2

 

 

1)数据流被接收器接收,封装成DStream,传递给driver;接收器是一个executor,是一个长期长期运行的线程。

2)driver把任务进行分解,分发给其他executor执行;底层还是利用SparkContext和RDD来实现的。

3)以批次为单位输出结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐