分享

spark原理之spark主要模块及作用介绍

pig2 2017-2-28 17:12:39 发表于 介绍解说 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 23659
本帖最后由 pig2 于 2017-3-1 09:30 编辑
问题导读
1.spark主要包含哪几个模块?
2.spark各个模块作用是什么?
3.spark通信通过什么框架实现?







Spark的主要模块包括
  • 调度与任务分配
  • I/O模块
  • 通信控制模块
  • 容错模块
  • 以及Shuffle模块

模块介绍

调度与任务分配
Spark按照应用、作业、Stage和Task几个层次分别进行调度,采用了经典的FIFO和FAIR等调度算法。

I/O模块
在Spark的I/O中,将数据以块为单位进行管理,需要处理的块可以存储在本机内存、磁盘或者集群中的其他机器中。

通信控制模块
集群中的通信对于命令和状态的传递极为重要,Spark通过AKKA框架进行集群消息通信。基于Akka实现的RPC通信框架是Spark引以为豪的主要特性,也是与Hadoop等分布式计算框架对比过程中一大亮点,但是时代和技术都在演化,从Spark1.3.1版本开始,为了解决大块数据(如Shuffle)的传输问题,Spark引入了Netty通信框架,到了1.6.0版本,Netty居然完成取代了Akka,承担Spark内部所有的RPC通信以及数据流传输。

容错模块
分布式系统中的容错十分重要,Spark通过Lineage(血统)和Checkpoint机制进行容错性保证。

Shuffle模块
最后介绍Spark中的Shuffle机制,虽然Spark也借鉴了MapReduce模型,但其对Shuffle机制进行了创新与优化

来自:spark中文

已有(6)人评论

跳转到指定楼层
pig2 发表于 2017-3-1 09:32:06

对的,Spark1.3.1版本开始,为了解决大块数据(如Shuffle)的传输问题,Spark引入了Netty通信框架,到了1.6.0版本,Netty完成取代了Akka.
回复

使用道具 举报

sun 发表于 2017-3-1 08:02:02
2.0用netty了
回复

使用道具 举报

sun 发表于 2017-3-1 08:02:33
2.0用netty了
回复

使用道具 举报

Mr.k 发表于 2017-3-1 09:18:50
感谢楼主分享,能不能再详细点,spark初学者,谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条