大数据开发之Spark运行流程

在大数据的诸多技术框架当中,Spark发展至今,已经得到了广泛的认可。Hadoop与Spark可以说是大部分企业级数据平台的主流选择,基于不同的应用场景,结合实际需求,来选择相应的技术架构。今天我们来聊聊Spark运行原理。

Spark继承了Hadoop MapReduce的特性,是典型的master/worker架构。这种架构就是把计算任务进行划分,然后进行分配给多个slave,也就是进行map,等slave完成了分配给自己的任务后,然后再master上进行汇总,也就是reudce,这就是MapReduce的思想。
 

大数据进阶培训


Spark在master上创建Spark context,创建SparkContext的目的是为了准备Spark应用程序的运行环境。在Spark中由SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和监控等,

Driver是驱动的意思,也就是整个系统启动之后,整个系统的运转时靠Driver来驱动的,用户自己的作业也是通过Driver来分解和调度运行的。

资源申请后,Spark通常会要求资源管理器在container中启动自己的worker,也就是Executor进程,同时启动命令里面会带着Driver的url地址,方便Executor启动后,向Driver注册自己,

Executor向Driver注册自己之后,大家就相互认识了,就可以互相通信,根据协议进行交互,整个分布式系统也就运行起来了,

Driver和Executor直接通过rpc协议相互联系,Spark历史上内部使用过两种rpc实现,基于akka actor的rpc和基于netty自己封装的rpc。

Executor是具体的执行者,Executor拿到属于自己的task后,运行出结果,然后把结果汇报给Driver。

Driver和Executors都运行自己的Java进程,可以在同一台机器上,也可以在不同的机器上,

而关于资源管理器,可以是Spark自己实现的资源管理器,standalone模式,也可以采用一些比较通用的资源管理器,比如Yarn和Mesos,这也是为什么有说法,Spark可以自己独立运行,也可以与Hadoop集成协同。

关于Spark运行流程,相信看完今天的分享内容,大家也都能够有比较清楚的认识了。Spark是大数据当中必须掌握的核心技术框架,对于运行原理、架构设计等,都需要牢牢掌握。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值