Spark Streaming 是什么
Spark Streaming用于流式数据的处理
。Spark Streaming支持
的数据输入源很多
,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。
离散化,简单一点就是:数据是不连续的,每一段时间的数据可能是不一样的
跟Spark基于RDD的概念很相似,Spark Streaming使用离散化流(discretized stream)
作为抽象表示,叫作DStream
。DStream 是随时间推移而收到的数据的序列。在内部,每个时间区间收到的数据都作为 RDD 存在,而DStream是由这些RDD所组成的序列(因此得名“离散化”)。
Spark Streaming特点
- 易用
Spark Streaming brings Apache Spark’s language-integrated API to stream processing, letting you write streaming jobs the same way you write batch jobs. It supports Java, Scala and Python.
- 容错
Spark Streaming recovers both lost work and operator state (e.g. sliding windows) out of the box, without any extra code on your part.
- 易整合到 Spark 体系
By running on Spark, Spark Streaming lets you reuse the same code for batch processing, join streams against historical data, or run ad-hoc queries on stream state. Build powerful interactive applications, not just analytics.
SparkStreaming 架构
- 工作节点:就是每一个 Work
- 执行器: 就是 Executor
- 任务:每个 Job
- 驱动器程序:Drive
版权声明:《 Spark Streaming 概述 》为明妃原创文章,转载请注明出处!
最后编辑:2020-2-24 14:02:48