• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 大数据面试题 Spark运行架构

发布时间:2019-09-05 15:19:35 浏览 5526 来源:博学谷资讯 作者:照照

    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运行架构的知识点,有没有帮助?

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 云计算大数据培训哪家好?课程都学什么? 下一篇: 博学谷云计算大数据培训班课程怎么样?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码