第222讲:Spark Shuffle Pluggable框架ShuffleWriter解析
来源:互联网 发布:禁用3g网络 编辑:程序博客网 时间:2024/06/04 19:04
第222讲:Spark Shuffle Pluggable框架ShuffleWriter解析
ShuffleWriter是ShuffleMapTask将shuffle数据写入本地的接口。不同的shuffle有不同的实现。
在ShuffleMapTask内部中获取shuffleWtriter实例,将数据记录写入shuffle系统
private[spark] abstract class ShuffleWriter[K, V] { /** Write a sequence of records to this task's output */ @throws[IOException] def write(records: Iterator[Product2[K, V]]): Unit /** Close this writer, passing along whether the map completed */ def stop(success: Boolean): Option[MapStatus]}
1,write方法:将一系列记录写入task任务的输出。这里的records记录是一个Iterator,每一个元素是Key-Value。Product2是一个trait。
write如果需要做聚合,我们需将数据做聚合。
2,stop:写入完成。提交返回一个 MapStatus
def stop(success: Boolean): Option[MapStatus]}
MapStatus
通过 ShuffleMapTask 将结果返回给调度器。包括块任务运行的block地址以及为每个 reducer输出的大小,传递到reduce任务。
private[spark] sealed trait MapStatus { /** Location where this task was run. */ def location: BlockManagerId /** * Estimated size for the reduce block, in bytes. * * If a block is non-empty, then this method MUST return a non-zero size. This invariant is * necessary for correctness, since block fetchers are allowed to skip zero-size blocks. */ def getSizeForBlock(reduceId: Int): Long}
0 0
- 第222讲:Spark Shuffle Pluggable框架ShuffleWriter解析
- 第221讲:Spark Shuffle Pluggable框架ShuffleManager解析
- 第223讲:Spark Shuffle Pluggable框架ShuffleReader解析
- 第224讲:Spark Shuffle Pluggable框架ShuffleBlockManager解析
- 第225讲:Spark Shuffle Pluggable框架SortShuffle解析以及创建源码详解
- 第226讲:Spark Shuffle Pluggable框架SortShuffle具体实现解析
- Spark技术内幕:Shuffle Pluggable框架详解,你怎么开发自己的Shuffle Service?
- Spark技术内幕:Shuffle Pluggable框架详解,你怎么开发自己的Shuffle Service?
- 【spark】Shuffle过程解析
- Spark Shuffle原理解析
- [spark] Shuffle Write解析 (Sort Based Shuffle)
- [spark] Shuffle Read解析 (Sort Based Shuffle)
- 第217讲:Spark Shuffle中HashShuffleWriter工作机制和源码详解
- spark中shuffle框架剖析
- Spark源码解析——Shuffle
- Spark的Shuffle机制(讲得很好哦)
- spark shuffle mapreduce shuffle
- spark shuffle
- 傅里叶级数
- 先写个几行的PYTHON代码试试--Python(5)
- python中的正则表达式
- 熟能生巧,几个PYTHON练习--Python(6)
- 07-图6 旅游规划 (25分)
- 第222讲:Spark Shuffle Pluggable框架ShuffleWriter解析
- 快速编译docker源码
- VS2010 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 论代码重构的优雅之道
- Matlab之ODE
- Arduino基础学习-平台准备
- 原生JS面向对象
- 原生JS的Ajax操作
- JQ的Ajax的操作