• 在线客服

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

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

  • 意见反馈

原创 Spark运行架构及其特点讲解

发布时间:2019-08-20 19:22:54 浏览 6672 来源:博学谷资讯 作者:照照

    Spark应用程序以进程集合为单位在分布式集群上运行,通过driver程序的main方法创建的SparkContext对象与集群交互。本文主要内容有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 采用了数据本地性和推测执行的优化机制。

     

    以上就是Spark运行架构及其特点的讲解,大家都听明白了吗?

     

    申请免费试学名额    

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

上一篇: 大数据Hbase面试题汇总 下一篇: 你那么努力为什么还又穷又忙?数据分析直播课预告

相关推荐 更多

热门文章

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

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

博学谷二维码