《spark实战》笔记05--核心模块--Storage、Shuffle

来源:《spark实战》讲义


[1 ] Storage

  • Storage模块主要分为两层:
    • 通信层: storage模块采用的是master-slave结构来实现通信层, master和slave之间传输控制信息、状态信息,这些都是通过通信层来实现的。
    • 存储层: storage模块需要把数据存储到disk或是memory上面,有可能还需replicate到远端,这都是由存储层来实现和提供相应接口。

  • Storage模块提供了统一的操作类BlockManager,外部类与storage模块打交道都需要通过调用BlockManager相应接口来实现。

  • Storage模块存取的最小单位是数据块(Block), Block与RDD中的Partition一一对应,所以所有的转换或动作操作最终都是对Block进行操作。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

[2 ] Shuffle

  • shuffle 中Map任务产生的结果会根据所设置的partitioner算法填充到当前执行任务所在 机器的每个桶中。
  • Reduce任务启动时时,会根据任务的ID,所依赖的Map任务ID以及MapStatus从远端或本地
    的BlockManager获取相应的数据作为输入进行处理。
  • Shuffle数据必须持久化磁盘,不能缓存在内存。

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值