赞
踩
Spark Streaming介绍
随着大数据的发展,人们对大数据的处理要求也越来越高,传统的MapReduce等批处理框架在某些特定领域(如实时用户推荐、用户行为分析)已经无法满足人们对实时性的需求,因此诞生了一批如S4、Storm的流式的、实时计算框架。而Spark由于其优秀的调度机制,快速的分布式计算能力,能够以极快的速度进行迭代运算。正是由于Spark的这些优势,使得Spark能够在某种程度上进行实时处理,Spark Streaming正是构建在此之上的流式框架。
Spark Streaming作为Spark的核心组件之一,同Apache Storm一样,主要对数据进行实时的流处理。但是不同于Storm,在Spark Streaming中数据处理的单位是一批而不是一条。Spark会等采集的源头数据累积到设置的间隔条件后,对数据进行统一的微批处理。这个间隔是Spark Streaming中的核心概念和关键参数,直接决定了Spark Streaming作业的数据处理延迟,当然也决定着数据处理的吞吐量和性能。相对于Storm的毫秒级延迟来说,Spark Streaming的延迟最低只能到几百毫秒,一般是在秒级甚至分钟级。因此对于实时数据处理延迟要求非常高的场合,Spark Streaming并不合适。另外,Spark Streaming底层依赖于Spark Core的RDD实现,即它和Spark框架整体是绑定在一起的,这是优点也是缺点。
对于已经采用Spark作为大数据处理框架,同时对数据延迟性要求又不是很高的场合,Spark Streaming 非常适合作为实时流处理的工具和方案,原因如下:
Spark Streaming内部的实现和调度方式高度依赖于Spark的DAG调度器和RDD,Spark Streaming的离散化流(DStre
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。