Spark Streaming 概述

Spark Streaming 是什么

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

mark

离散化,简单一点就是:数据是不连续的,每一段时间的数据可能是不一样的

跟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 架构

mark

  • 工作节点:就是每一个 Work
  • 执行器: 就是 Executor
  • 任务:每个 Job
  • 驱动器程序:Drive
发表评论 / Comment

用心评论~