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

一、什么是Spark?

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

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

二、Spark的核心模块:

up-d052360e5fe8ab4b7829fccd73e61bf1dbf.png

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的运行架构:

up-ff93b0a319ada26ace147e2b7f2b1dfbb3e.png

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(计算)之间的解耦合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值