前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark入门-了解Spark核心概念

Spark入门-了解Spark核心概念

作者头像
栗筝i
发布2022-12-01 21:20:56
3030
发布2022-12-01 21:20:56
举报
文章被收录于专栏:迁移内容迁移内容

在本文中我们将从Spark集群角度和程序应用的角度来对相关概念进行了解

1
1

一. 站在集群角度

1.1 Master

Spark 特有资源调度系统的 Leader。掌管着整个集群的资源信息,类似于 Yarn 框架中的 ResourceManager,主要功能:

  1. 监听 Worker,看 Worker 是否正常工作;
  2. Master 对 Worker、Application 等的管理(接收 Worker 的注册并管理所有的Worker,接收 Client 提交的 Application,调度等待的 Application 并向Worker 提交)。
1.2 Worker

Spark 特有资源调度系统的 Slave,有多个。每个 Slave 掌管着所在节点的资源信息,类似于 Yarn 框架中的 NodeManager,主要功能:

  1. 通过 RegisterWorker 注册到 Master;
  2. 定时发送心跳给 Master;
  3. 根据 Master 发送的 Application 配置进程环境,并启动 ExecutorBackend(执行 Task 所需的临时进程)

二. 站在应用程序角度

2.1 driver program(驱动程序)

每个 Spark 应用都由一个驱动器程序(driver program)来发起集群上的各种并行操作。驱动器程序包含应用的 main 函数,并且定义了集群上的分布式数据集,还对这些分布式数据集应用了相关操作。   驱动程序包含 Spark 应用程序中的主函数, 定义了分布式数据集以应用在集群中.

驱动器程序通过一个 SparkContext 对象来访问 Spark。这个对象代表对计算集群的一个连接。

使用Scala初始化SparkContext
代码语言:javascript
复制
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._

val conf  = new SparkConf().setAppName("wordCount")
val sc = new SparkContext(conf)
2.2 executor(执行器)

SparkContext对象一旦成功连接到集群管理器, 就可以获取到集群中每个节点上的执行器(executor).   执行器是一个进程(进程名: ExecutorBackend, 运行在 Worker 节点上), 用来执行计算和为应用程序存储数据.   然后, Spark 会发送应用程序代码(比如:jar包)到每个执行器. 最后, SparkContext对象发送任务到执行器开始执行程序.

4
4
2.3 RDDs(Resilient Distributed Dataset) 弹性分布式数据集

一旦拥有了SparkContext对象, 就可以使用它来创建 RDD 了. 在前面的例子中, 我们调用sc.textFile(…)来创建了一个 RDD, 表示文件中的每一行文本. 我们可以对这些文本行运行各种各样的操作.

2.4 cluster managers(集群管理器)

为了在一个 Spark 集群上运行计算, SparkContext对象可以连接到几种集群管理器(Spark’s own standalone cluster manager, Mesos or YARN).   集群管理器负责跨应用程序分配资源.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 站在集群角度
    • 1.1 Master
      • 1.2 Worker
      • 二. 站在应用程序角度
        • 2.1 driver program(驱动程序)
          • 2.2 executor(执行器)
            • 2.3 RDDs(Resilient Distributed Dataset) 弹性分布式数据集
              • 2.4 cluster managers(集群管理器)
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档