余老师带你学习大数据-Spark快速大数据处理第六章第一节Spark总体介绍

Spark是什么

Spark是数据处理引擎,Hadoop的YARN是集群管理的组件,HDFS是数据存储的组件,MapReduce是数据处理的引擎。通常一套大数据解决方案包括了很多组件,有存储、计算、MapReduce、Spark等等。Spark做数据处理引擎,可以说是给你一个计算平台,承担上面的计算任务或者算法,由自己提供的,而在数据处理框架之上是需要一套分析软件,那么这套分析软件是根据业务特点去编程的。Spark是生态系统,Spark有数据处理引擎,同时在引擎之上做流处理,应用范围越来越广。Spark的突出特点是使用了内存运算和基于docker、基于计算图的方式去表述应用。

Spark是大一统的数据处理引擎

在这里插入图片描述

这幅图展示了Spark包括了的组件。Spark进入SQL,Datasets,DataFrames提供了结构化分析手段。Structured Streaming是处理流数据,关系型的查询就用SQL去处理流式数据。这两个包括了现在数据处理引擎的两个重要特点,第一个特点是处理结构化数据,将数据抽象成结构化数据。第二个特点是Structured流处理方式,流处理是实时大数据的一个核心理论。RDD是Spark发展初期一个重要的概念,弹性的数据集,进入这种数据集去构架Spark引擎,即将被其他的API所替代,比如Spark SQL,因为Spark SQL可以获得更高的性能。Spark Streaming也是Spark初期流处理的API框架,但是随着流处理理论的发展,这种API已经不适合现在流处理的发展了,Structured Streaming代替了Spark Streaming。MLlib是机器学习和GraphX是处理图。这些涵盖了大数据引擎的基本结构,批处理、流处理和图处理就是Spark是大一统的数据处理引擎的核心。

为什么不选择RDD

RDD是核心的但是是老的API,Flink的核心框架就是Datasets和DataFrames,所有的数据抽象成一个集合或者一个流。RDD这种弹性的数据集不能让使用者更理解内部机制或者更好的使用这个软件。所以说Spark选择将隐藏起来,而推出做流处理和批处理相应API的重要原因。无法判断是Flink学习了Spark还是Spark学习了Flink,我们得不出这个结论,但是,从现在大数据发展的理论上看,Dataset和DataStream这两种抽象是我们分析引擎的核心主流思想,都需要向着两个思想去融合,Spark也做到了这一点,这是为什么不选择RDD作为Spark主要API提供给用户的原因。

详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45810046/article/details/109764346