学分高考 web前端

大数据面试题 Spark运行架构

发布时间: 2022-05-16 19:03:01

Spark作为一种分布式的计算框架,类似于大数据开发中Hadoop生态圈的MapReduce,计算思想和MR非常相似,两者都是分而治之的思想,但使用率要比MR高很多。本文整理了关于Spark运行架构的大数据面试题,内容包括Spark运行的基本流程、架构特点、优势。

Spark运行架构

1、Spark 运行基本流程:

(1)构建 Spark Application 的运行环境(启动 SparkContext),SparkContext 向资源管理器(可以是 Standalone、Mesos 或 YARN)注册并申请运行 Executor 资源;

(2)资源管理器分配 Executor 资源并启动 Executor,Executor 运行情况将随着心跳发送到资源管理器上;

(3)SparkContext 构建成 DAG 图,将 DAG 图分解成 Stage,并把 Taskset发送给 Task Scheduler。Executor 向 SparkContext 申请 Task,Task Scheduler 将Task 发放给 Executor 运行同时 SparkContext 将应用程序代码发放给 Executor。

(4)Task 在 Executor 上运行,运行完毕释放所有资源。

2、Spark 运行架构特点:

(1)每个 Application 获取专属的 executor 进程,该进程在 Application 期间一直驻留,并以多线程方式运行 tasks。

(2)Spark 任务与资源管理器无关,只要能够获取 executor 进程,并能保持相互通信就可以了。

(3)提交 SparkContext 的 Client 应该靠近 Worker 节点(运行 Executor 的节点),最好是在同一个 Rack 里,因为 Spark 程序运行过程中 SparkContext 和Executor 之间有大量的信息交换;如果想在远程集群中运行,最好使用 RPC 将SparkContext 提交给集群,不要远离 Worker 运行 SparkContext。

(4)Task 采用了数据本地性和推测执行的优化机制。

3、Spark的优势:

(1)计算效率高

资源复用;粗粒度的资源调度。

(2)使用方便

支持使用多门语言来编写;提供了超过80多种方法来供我们使用。

(3)通用性强

Spark生态圈中的组件都是基于SparkCore封装起来的。

(4)适应性强

可以接受上百种数据源;可以运行在各种各样的资源调度框架上。

以上就是大数据面试题,所有关于Spark运行架构的内容,不知道对大家梳理Spark运行架构的知识点,有没有帮助?

温馨提示:
本文【大数据面试题 Spark运行架构】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号