什么是 Spark?Spark 的核心模块、Spark 的核心组件

简介: 什么是 Spark?Spark 的核心模块、Spark 的核心组件

一、什么是 Spark?

Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。因为以内存为基础,所以可以比 MapReduce 更快的处理数据。

Spark 采用了 RDD(弹性分布式数据集)这一抽象概念,提供了高效的数据存储和处理方式。Spark 还具有较好的容错能力和可伸缩性,允许在集群上动态添加和删除节点,使得计算资源能够随着数据量和计算任务的变化而实现弹性扩展。

二、Spark 的核心模块:

Spark Core:Spark Core 中提供了 Spark 最基础与最核心的功能,Spark 的其他功能如:Spark SQL、Spark Streaming、GraphX、MLlib 都是在 Spark Core 的基础上进行扩展的。

Spark SQL:Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用 SQL 或 Hive 来查询数据。

Spark Streaming:Spark Streaming 是 Spark 平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的 API。

三、Spark 的核心组件:

看组件之前,先看一下 Spark 的运行架构:

Spark 框架的核心是一个计算引擎,整体来说,它采用了标准的 master-slave 主备结构。

如上图所示,它展示了一个 Spark 执行时的基本结构。图形中的 Driver 表示 master负责管理整个集群中的作业任务调度。图形中的 Executor 则是 slave,负责实际执行任务。

 

Spark 的核心组件:

Master 和 Worker 用于资源调度的,Driver 和 Executor 用于计算的。

1.Master:master 是一个进程,负责资源的调度和分配,并进行集群的监控等职责。类似于 YARN 中的 ResourceManager。

2.Worker:worker 也是进程,一个 Worker 运行在集群中的一台服务器上,由 Master 分配资源对数据进行并行的处理和计算,类似于 YARN 中的 NameNode。

3.Driver:主要是执行程序的 main 方法,创建 SparkContext 对象。

4.Executor:executor 是集群中工作结点(Worker)中的一个 JVM 进程,负责在 Spark 中运行具体的任务(Task)。

5.ApplicationMaster:用于 ResourceManager(资源)和 Driver(计算)之间的解耦合。

相关文章
|
6月前
|
存储 分布式计算 负载均衡
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
【大数据技术Hadoop+Spark】MapReduce概要、思想、编程模型组件、工作原理详解(超详细)
217 0
|
5天前
|
SQL 机器学习/深度学习 分布式计算
【赵渝强老师】Spark生态圈组件
本文介绍了Spark的生态圈体系架构,包括其核心执行引擎Spark Core、结构化数据处理模块Spark SQL、实时数据流处理模块Spark Streaming,以及机器学习框架MLlib和图计算框架GraphX。文中通过图片和视频详细解析了各模块的功能及访问接口。
|
6月前
|
SQL 分布式计算 大数据
Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突
Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突
231 0
|
分布式计算 Hadoop Scala
五十、Spark组件部署(MINI版)
五十、Spark组件部署(MINI版)
五十、Spark组件部署(MINI版)
|
存储 缓存 分布式计算
Spark的核心组件和运行流程
Spark的核心组件和运行流程
255 0
Spark的核心组件和运行流程
|
分布式计算 运维 资源调度
大数据组件-Spark高可用架构部署
大数据组件-Spark高可用架构部署
大数据组件-Spark高可用架构部署
|
SQL 分布式计算 大数据
Spark内置模块
Spark内置模块
131 0
|
机器学习/深度学习 分布式计算 数据可视化
基于Spark的机器学习实践 (六) - 基础统计模块
基于Spark的机器学习实践 (六) - 基础统计模块
195 0
|
分布式计算 NoSQL Shell
使用spark-redis组件访问云数据库Redis
本文演示了在Spark Shell中通过spark-redis组件读写Redis数据的场景。所有场景在阿里云E-MapReduce集群内完成,Redis使用阿里云数据库Redis。