Spark源码定制第一课:通过案例对SparkStreaming透彻理解三板斧之一

第一课:通过案例对SparkStreaming透彻理解三板斧之一:解密SparkStreaming另类实验及SparkStreaming本质解析

本期导读:

  • 1 Spark源码定制选择从SparkStreaming入手;
  • 2 Spark Streaming另类在线实验;
  • 3 瞬间理解SparkStreaming本质。

1.    从Spark Streaming入手开始Spark源码版本定制之路

1.1           从Spark Streaming入手Spark源码版本定制之路的理由

从今天起,我们将踏上了新的Spark学习旅途。寻龙点穴,从Spark Streaming入手,Spark Streaming就是大数据的龙脉。我们为什么要选择从SparkStreaming入手开始我们的Spark源码版本定制之路?有下面几个方面的理由:

1) Spark大背景

Spark最开始没有我们今天看到的Spark Streaming、GraphX、Machine Learning、Spark SQL和Spark R等相关子框架内容,最开始就只有很原始的Spark Core。我们要做Spark源码定制,做自己的发行版本,以Spark Streaming为切入点,Spark Streaming本身是 Spark Core上的一个子框架,所以我们透过一个子框架的彻底研究,肯定可以精通Spark力量的源泉和所有问题的解决之道;

2) 为什么不选SparkSQL?

我们知道,Spark有 很多子框架,现在除了基于Spark Core编程之外,用得最多的就是SparkSQL。Spark SQL由于涉及了太多的SQL语法细节的解析或者说优化,其实这些解析或优化,对于我们集中精力去研究Spark而言,它是一件重要的事情,但其实不是最重要的一件事情。由于它有太多的SQL语法解析,这个不是一个合适的子框架来让我们研究。

3) 为什么不选Spark R?

Spark R现在很不成熟,而且支持功能有限,这个也从我们的候选列表中删除掉。

4) 为什么不选SparkGraphX(图计算)?

如果大家关注了 Spark的演进或发展的话,Spark最近发布的几个版本,Spark图计算基本没有改进。如果按照这个趋势的话,Spark官方机构似乎在透露一个信号,图计算已经发展到尽头了。所以说,我们如果要研究的话,肯定不会去做一个看上去发展到尽头的东西。另外,至于图计算而言,它有很多数学级别的算法,而我们是要把Spark做到极致,这样的话,数学这件事情很重要,但对我们来说却不是最重要的。

5) 为什么不选SparkMLlib(机器学习)?

Spark机器学习在封装了Vector(向量)和Metrics基础之上,加上Spark的RDD,构建了它的众多的库。这个也由于涉及到了太多的数学的知识,所以我们选机器学习其实也不是一个太好的选择。

1.2           Spark Streaming魔力之所在

2016上半年,据StackOverflow开展的一项调查结果显示,50%以上的人认为,Spark中最吸引人的是Spark Streaming。总之,大家考虑用Spark,主要是因为Spark Streaming。 Spark Streaming到底有什么魔力?

1)  它是流式计算

这是一个流处理的时代,一切数据如果不是流式的处理或者跟流式的处理不相关的话,都是无效的数据。这句话会不断地被社会的发展所证实。

2)  流式处理才是真正的我们对大数据的初步印象

一方面,数据流进来,立即给我们一个反馈,这不是批处理或者数据挖掘能做到的。另一方面,Spark非常强大的地方在于它的流式处理可以在线的利用机器学习、图计算、SparkSQL或者Spark R的成果,这得益于Spark多元化、一体化的基础架构设计。也就是说,在Spark技术堆栈中,Spark Streaming可以调用任何的API接口,不需要做任何的设置。这是Spark无可匹敌之处,也是Spark Streaming必将一统天下的根源。这个时代的流处理单打独斗已经不行了,SparkStreaming必然会跟多个Spark子框架联合起来,称霸大数据领域。

3)  流式处理“魅力和复杂”的双重体

如果你精通 Spark Streaming,你就知道Spark Streaming以及它背后的兄弟框架,展示了Spark和大数据的无穷魅力。不过,在Spark的所有程序中,肯定是基于 Spark Streaming的应用程序最容易出问题。为什么?因为数据不断流进来,它要动态控制数据的流入,作业的切分还有数据的处理。这些都会带来极大的复杂性。

4)  与其他Spark子框架的巨大区别

如果你仔细观察,你会发现,SparkStreaming是基于Spark Core之上的一个应用程序。不像其他子框架,比如机器学习是把数学算法直接应用在Spark的RDD之上,SparkStreaming更像一般的应用程序那样,感知流进来的数据并进行相应的处理。所以如果要做Spark 的定制开发,Spark Streaming则提供了最好的参考,掌握了Spark Streaming也就容易开发任意其他的程序。当然想掌握SparkStreaming,但不去精通Spark Core的话,那是不可能的。Spark
Core加Spark Streaming更是双剑合璧,威力无穷。

我们选择SparkStreaming来入手,等于是找到了关键点。如果要寻龙点穴,那么Spark Streaming就是龙穴之所在。找到了穴位,我们就能一日千里。综上所述,我们筛选之下,Spark Streaming是我们唯一的选择!

时间: 2024-10-06 10:22:15

Spark源码定制第一课:通过案例对SparkStreaming透彻理解三板斧之一的相关文章

Spark发行版笔记1:通过案例对SparkStreaming透彻理解三板斧之一

本节课通过二个部分阐述SparkStreaming的理解: 一.解密SparkStreaming另类在线实验 二.瞬间理解SparkStreaming本质 Spark源码定制班主要是自己做发行版.自己动手改进Spark源码,通常在电信.金融.教育.医疗.互联网等领域都有自己不同的业务,如果Sprak官方版本没有你需要的业务功能,你自己可以定制.扩展Spark的功能,满足公司的业务需要. 选择SparkStreaming框架源码研究.二次开发的原因 1.Spark起初只有Spark Core基础框

Spark发行版笔记2:通过案例对SparkStreaming透彻理解三板斧之一

本节课主要从以下二个方面来解密SparkStreaming: 一.解密SparkStreaming运行机制 二.解密SparkStreaming架构 SparkStreaming运行时更像SparkCore上的应用程序,SparkStreaming程序启动后会启动很多job,每个batchIntval.windowByKey的job.框架运行启动的job.例如,Receiver启动时也启动了job,此job为其他job服务,所以需要做复杂的spark程序,往往多个job之间互相配合.SparkS

Spark定制版1:通过案例对SparkStreaming透彻理解三板斧之一

本节课通过二个部分阐述SparkStreaming的理解: 一.解密SparkStreaming另类在线实验 二.瞬间理解SparkStreaming本质 Spark源码定制,自己动手改进Spark源码,通常在电信.金融.教育.医疗.互联网等领域都有自己不同的业务,如果Sprak官方版本没有你需要的业务功能,你自己可以定制.扩展Spark的功能,满足公司的业务需要. 选择SparkStreaming框架源码研究.二次开发的原因 1.Spark起初只有Spark Core基础框架没有其他的子框架(

Spark版本定制:通过案例对SparkStreaming透彻理解三板斧之一

本期内容: 1 Spark Streaming另类在线实验 2 瞬间理解Spark Streaming本质 问:为什么从Spark Streaming来切入spark源码版本订制? Spark最开始的时候并没有Spark Streaming.Spark Sql.Spark ML.Spark R.Spark Graphx等相关的内容,就是很原始的Spark Core,Spark Streaming本身是Spark Core上的一个框架,透过一个框架的彻底研究可以彻底精通spark的方方面面: Sp

定制班第1课:通过案例对SparkStreaming 透彻理解三板斧之一:解密SparkStreaming另类实验及SparkStreaming本质解析

从今天起,我们踏上了新的Spark学习旅途.我们的目标是要像Spark官方机构那样有能力去定制Spark版本. 我们最开始将从Spark Streaming着手. 为何从Spark Streaming切入Spark版本定制?Spark的子框架已有若干,为何选择Spark Streaming?让我们细细道来. Spark最开始只有Spark Core,没有目前的这些子框架.我们通过对一个框架的彻底研究,肯定可以精通Spark力量的源泉和所有问题的解决之道. 我们再看看目前的这些子框架.Spark

Spark版本定制版3-通过案例对SparkStreaming透彻理解三板斧之三

本讲内容: a. Spark Streaming Job 架构和运行机制 b. Spark Streaming Job 容错架构和运行机制 注:本讲内容基于Spark 1.6.1版本(在2016年5月来说是Spark最新版本)讲解. 上节回顾: 上节课谈到Spark Streaming是基于DStream编程.DStream是逻辑级别的,而RDD是物理级别的.DStream是随着时间的流动内部将集合封装RDD.对DStream的操作,归根结底还是对其RDD进行的操作. 如果将Spark Stre

Spark定制版2:通过案例对SparkStreaming透彻理解三板斧之二

本节课主要从以下二个方面来解密SparkStreaming: 一.解密SparkStreaming运行机制 二.解密SparkStreaming架构 SparkStreaming运行时更像SparkCore上的应用程序,SparkStreaming程序启动后会启动很多job,每个batchIntval.windowByKey的job.框架运行启动的job.例如,Receiver启动时也启动了job,此job为其他job服务,所以需要做复杂的spark程序,往往多个job之间互相配合.SparkS

第2课:通过案例对SparkStreaming 透彻理解三板斧之二:解密SparkStreaming运行机制和架构

本篇博文将从以下几点组织文章: 1. 解密Spark Streaming运行机制 2. 解密Spark Streaming架构 一:解密Spark Streaming运行机制 1. DAG生成模板 :DStreamGraph a) Spark Streaming中不断的有数据流进来,他会把数据积攒起来,积攒的依据是以Batch Interval的方式进行积攒的,例如1秒钟,但是这1秒钟里面会有很多的数据例如event,event就构成了一个数据的集合,而RDD处理的时候,是基于固定不变的集合产生

第1课:通过案例对SparkStreaming 透彻理解三板斧之一

感谢DT大数据梦工厂支持提供以下内容,DT大数据梦工厂专注于Spark发行版定制.详细信息请查看 联系邮箱[email protected] 电话:18610086859 QQ:1740415547 微信号:18610086859 一 为什么从Spark Streaming入手? Spark目前有四个Spark SQL, Spark Streaming, MLlib(machine learning), GraphX(graph), Spark Core是基础,四个框架是建立在基础之上的. 所以