Spark Streaming概述 特点 架构

SparkStreaming是Spark框架中的流处理模块,采用微批次处理方式,通过DStream抽象实现数据流的处理。它具备背压机制,能根据Executor处理速度动态调整Receiver接收速率,防止内存溢出。DStream是一系列连续RDD的集合,提供了高级API简化开发。SparkStreaming的特点包括准实时处理、不可添加新的流计算任务和单一JVM内唯一运行等。
摘要由CSDN通过智能技术生成

Spark Streaming概述

  1. Spark Streaming 是Saprk框架用于流式数据处理的功能模块,在 Spark Streaming 中,数据处理的单位是一小批而不是单条,而数据采集却是逐条进行的,因此 Spark Streaming 中需要设置时间间隔使得数据汇总到一定的量后再一并操作

  2. 和Spark基于RDD的概念很相似,Spark Streaming使用了一个高级抽象离散化流(discretized stream),叫作DStream

Spark Core&Spark SQL&Spark Streaming简单概括

spark corespark sqlspark streaming
程序执行入口SparkContextSparkSessionStreamingContext
对应的APIRDDDS/DFDStream

Spark Streaming特点

微批次准实时流式数据处理框架

Spark Streaming架构

Spark Streaming 架构图

在这里插入图片描述

Spark Streaming 背压机制

背压机制探讨的是Executor接收数据和处理数据速率是否一致的问题。Executor中有个专门接收数据的Receiver,在Spark1.5版本以前,如果想要限制Receiver接收数据的速率,可以通过设置参数“spark.streaming.receiver.maxRate”来实现,但是有可能造成Executor接收数据的速率高于处理数据的速率,那就会造成计算结点内存溢出等问题。为了解决这个问题,Spark1.5版本后,提供了背压机制,简单点来说,就是根据Executor处理数据的速率来动态决定Receiver接收数据的速率。相关参数为spark.streaming.backpressure.enabled,默认值false

DStream概述

Discretized Stream是Spark Streaming的基础抽象。在内部实现上,DStream是一系列连续的RDD来表示,每个RDD含有一段时间间隔内的数据,对这些RDD的转换是由Spark引擎来计算的, DStream的操作隐藏了的大多数的细节, 只提供给开发者了方便实用的高级 API

DStream特点

  1. 一旦StreamingContext已经启动, 则不能再添加新的 streaming computations

  2. 一旦一个StreamingContext已经停止(StreamingContext.stop()), 不能再重启

  3. 在一个 JVM 内, 同一时间只能启动一个StreamingContext

  4. stop() 的方式停止StreamingContext, 也会把SparkContext停掉. 如果仅仅想停止StreamingContext, 则应该这样: stop(false)

  5. 一个SparkContext可以重用去创建多个StreamingContext, 前提是以前的StreamingContext已经停掉,并且SparkContext没有被停掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值