Spark的architectue

16 篇文章 4 订阅

Spark的architectue

本文章主要对Spark的基本架构和重要模块作基本介绍,不会涉及Spark的安装部署以及使用

在分析深入源码之前,再从宏观上分析一下spark的主要架构。

What is Spark
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce 框架,都是基于map reduce算法所实现的分布式计算框架,拥有Hadoop MapReduce所具有的 优点;不同于MapReduce的是:Job中间输出和结果可以保存在内存中,而不需要读写HDFS,因 此Spark能更好地适用于machine learning等需要迭代的map reduce算法。

Spark Architecture
图片不是太清楚
这里写图片描述

整体上spark分为一下几个子模块

1.deploy(5600行源码):
deply模块包括Master,Work和Client,参见architecture图的最上 部分。deploy主要负责启动和调度用户实现的Spark application并且分配资源给用户 application,类似于Hadoop YARN框架。

2.scheduler(6200行源码):
scheduler主要负责调度用户application内的tasks,根据部署方式的不同,Spark实现了多种不同的scheduler,包括LocalScheduler,ClusterScheduler等 。

3.RDD:
RDD类似于一个分布式的数据集,用户可以根据RDD所提供的api进行数据集的操作,RDD模块是用户交互的主要模块。

4.storage(4700行源码):
storage模块主要负责数据集,也就是rdd的存取。根据设定的不同,数据可以保存在内存、磁盘或是两者。Spark与Hadoop MapReduce最大的不同在于MapReduce 将数据保存在HDFS上,而Spark则由自己的存储系统


当然还有一些其他的子模块,可以参考上图。

Spark采用了Actor的设计方式,整体架构,包括各子模块的设计上都是采用master-slave模 式,master和slave之间通信的主要协议可以参见上图。


以上大致地总结了Spark的architecture,之后会陆续对各子模块作详细的学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值