大数据/Spark/Spark Streaming
Anbang713
这个作者很懒,什么都没留下…
展开
-
Spark Streaming及实时计算介绍
Spark Streaming其实就是Spark提供对于大数据进行实时计算的一种框架。它的底层,其实也是基于Spark Core。基本的计算模型还是基于内存的大数据实时计算模型。而且它的底层的组件或者叫做概念其实还是最核心的RDD。只不过针对实时计算的特点,在RDD之上进行了一层封装,叫做DStream。其实学过了Spark SQL之后,你理解这种封装就容易了。之前在学习Spark SQL我们...原创 2018-08-23 07:48:45 · 1254 阅读 · 0 评论 -
Spark Streaming-与Spark SQL结合
Spark Streaming最强大的地方在于可以与Spark Core、Spark SQL整合使用,之前已经通过transform、foreachRDD等算子看到,如何将DStream中的RDD使用Spark Core执行批处理操作。现在就来看看,如何将DStream中的RDD与Spark SQL结合起来使用。案例:每隔10秒,统计最近60秒的,每个种类的每个商品的点击次数,然后统计出每个种...原创 2018-08-25 08:16:47 · 883 阅读 · 0 评论 -
Spark Streaming-缓存与持久化
与RDD类似,Spark Streaming也可以手动控制将数据流中的数据持久化到内存中。对DStream调用persist()方法,就可以让Spark Streaming自动将该数据流中的所有产生的RDD,都持久化到内存中。如果要对一个DStream多次执行操作,那么对DStream持久化是非常有用的。因为多次操作,可以共享使用内存中的一份缓存数据。对于基于窗口的操作,比如reduceByW...原创 2018-08-25 08:20:41 · 1221 阅读 · 0 评论 -
Spark Streaming-Checkpoint机制
一 概述每一个Spark Streaming应用,正常来说都是要7 * 24小时运转的,这就是实时计算程序的特点。因为要持续不断的对数据进行计算。因此对实时计算应用的要求,应该是必须要能够对与应用程序逻辑无关的失败,进行容错。如果要实现这个目标,Spark Streaming程序就必须将足够的信息checkpoint到容错的存储系统上,从而让它能够从失败中进行恢复。有两种数据需要被进行ch...原创 2018-08-25 09:11:34 · 2029 阅读 · 0 评论 -
Spark Streaming基础架构原理
后面我们分别学习:(1)StreamingContext初始化与Receiver启动原理剖析与源码分析。(2) 数据接收原理与源码分析。(3)数据处理原理与源码分析。最后,推荐两篇优秀的博客:(1)对Spark Streaming的源码进行了深度剖析:https://www.cnblogs.com/barrenlake/p/4889190.html(2)通过一张图将St...原创 2018-08-25 10:45:20 · 367 阅读 · 0 评论 -
Spark Streaming-StreamingContext初始化与Receiver启动原理剖析与源码分析
一 StreamingContext初始化过程StreamingContext是很多Streaming功能的入口,如:它提供从多种数据源创建DStream的方法等。在StreamingContext创建时将会创建如下主要组件:1、创建DStreamGraph,并为其设置转换成RDD的时间间隔private[streaming] val graph: DStreamGraph = {...原创 2018-08-25 14:40:06 · 485 阅读 · 0 评论 -
Spark Streaming-数据接收原理
原创 2018-08-25 14:50:41 · 271 阅读 · 0 评论 -
Spark Streaming-数据处理原理
原创 2018-08-25 14:57:27 · 294 阅读 · 0 评论 -
Spark Streaming运行架构和运行原理总结
原文地址:https://blog.csdn.net/zhanglh046/article/details/78505053一 运行架构Spark Streaming相对其他流处理系统最大的优势在于流处理引擎和数据处理在同一软件栈,其中Spark Streaming功能主要包括流处理引擎的流数据接收与存储以及批处理作业的生成与管理,而Spark Core负责处理Spark Streamin...转载 2018-08-26 09:06:50 · 643 阅读 · 0 评论 -
Spark Streaming-DStreams的output操作以及foreachRDD详解
一 output操作概览二 output操作DStream中的所有计算,都是由output操作触发的,比如print()。如果没有任何output操作,那么压根儿就不会执行定义的计算逻辑。此外,即使你使用了foreachRDD output操作,也必须在里面对RDD执行action操作,才能触发对每一个batch的计算逻辑。否则,光有foreachRDD output操作,在里面没...原创 2018-08-25 07:55:53 · 823 阅读 · 0 评论 -
Spark Streaming-window滑动窗口以及热点搜索词滑动统计案例实战
Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD作为window DStream的一个RDD。比如下图中,就是对每三秒钟的数据执行一次滑动窗口计算,这3秒内的3个RDD会被聚合起来进行处理,然后过了两秒钟,又会对最近三秒内的数据执行滑动窗口计算。所以每个滑动窗口操作,...原创 2018-08-25 07:23:33 · 959 阅读 · 0 评论 -
Spark Streaming基本工作原理
Spark Streaming是Spark Core API的一种扩展,它可以用于进行大规模、高吞吐量、容错的实时数据流的处理。它支持从很多种数据源中读取数据,比如Kafka、Flume、Twitter、ZeroMQ、Kinesis或者是TCP Socket。并且能够使用类似高阶函数的复杂算法来进行数据处理,比如map、reduce、join和window。处理后的数据可以被保存到文件系统、数据库...原创 2018-08-23 08:00:54 · 1321 阅读 · 0 评论 -
Spark Streaming与Storm的对比分析
优劣势分析Spark Streaming仅仅在吞吐量上比Storm要优秀,而吞吐量这一点,也是历来挺Spark Streaming贬Storm的人着重强调的。但是问题是,是不是在所有的实时计算场景下,都那么注重吞吐量?不尽然。因此,通过吞吐量说Spark Streaming强于Storm,不靠谱。事实上,Storm在实时延迟度上,比Spark Streaming就好多了,前者是纯实时,后者...原创 2018-08-23 08:06:05 · 390 阅读 · 0 评论 -
Spark Streaming-WordCount程序
public class WordCount { public static void main(String[] args) throws Exception { // 创建SparkConf对象 // 但是这里有一点不同,我们是要给它设置一个Master属性,但是我们测试的时候使用local模式 // local后面必须跟一个方括号,里面填写一个数字,数字代表了我们用几个线...原创 2018-08-23 08:10:21 · 315 阅读 · 0 评论 -
Spark Streaming-StreamingContext详解
有两种创建StreamingContext的方式:根据SparkConf对象创建:val conf = new SparkConf().setAppName(appName).setMaster(master);val ssc = new StreamingContext(conf, Seconds(1));使用已有的SparkContext来创建:val sc = new Sp...原创 2018-08-23 08:14:48 · 922 阅读 · 0 评论 -
Spark Streaming输入流和接收器
输入 DStreams 是指输入数据从流的源数据接收到的 DStream。在入门示例中,lines 是一个输入DStream,因为它代表着从 netcat 服务器接收到的数据的流。每一个输入DStream(除了 file stream 之外)都与与一个 Receiver对象关联,它从数据源中获取数据,并且存储到Spark的内存中用于处理。Spark Streaming 提供了两种内置的数据源:...原创 2018-08-24 07:44:37 · 976 阅读 · 0 评论 -
Spark Streaming-DStreams的转换操作
跟RDD一样,DStream也有自己的转换操作,并且DStreams支持很多在RDD中可用的转换操作。如下:后面我们将学习三个比较重要的转换操作,分别为:updateStateByKey,transform,window滑动窗口。 ...原创 2018-08-24 07:53:14 · 509 阅读 · 0 评论 -
Spark Streaming-updateStateByKey以及基于缓存的实时wordcount程序
updateStateByKey操作可以让我们为每个key维护一份state,并持续不断的更新该state。1、首先,要定义一个state,可以是任意的数据类型;2、其次,要定义state更新函数——指定一个函数如何使用之前的state和新值来更新state。对于每个batch,Spark都会为每个之前已经存在的key去应用一次state更新函数,无论这个key在batch中是否有新的...原创 2018-08-24 08:23:42 · 300 阅读 · 0 评论 -
Spark Streaming-transform以及广告计费日志实时黑名单过滤案例实战
transform操作应用在DStream上时,可以用于执行任意的RDD到RDD的转换操作。它可以用于实现,DStream API中所没有提供的操作。比如说,在DStream API中,并没有提供将一个DStream中的每个batch与一个特定的RDD进行join的操作。但是我们自己就可以使用transform操作来实现该功能。 DStream.join(),只能join其他DStream。在DS...原创 2018-08-25 07:05:59 · 475 阅读 · 0 评论 -
Spark Streaming性能优化
原文地址:https://blog.csdn.net/zhanglh046/article/details/78505192一 数据接收并行度调优通过网络接收数据的时候,比如kafka或者flume,会将数据反序列化,并存储在在Spark内存中。如果数据接收成为系统的瓶颈,那么可以考虑并行化接收数据。1.1 除了创建更多输入DStream和Receiver每一个InputDStre...转载 2018-08-26 09:07:11 · 293 阅读 · 0 评论