Spark Shuffle剖析
来源:互联网 发布:单级放大电路实验数据 编辑:程序博客网 时间:2024/05/22 03:16
Spark核心计算——shuffle
指定两个task数量。
分为两部分shuffle write 和 shuffle read
Spark核心计算——shuffle write(hash-based)(逐渐被淘汰基于hash实现的shuffle)
一个executor中的两个task,多线程。
小文件有大量随机读,占用大量IO。map-task写到bucket的过程中,先写入buffer然后溢写到磁盘。
—Total shuffle file number
1.M*R
2.1million files,if 1k mapper and 1k reducer
—Write buffer size(core==task)
写缓存就要占用大量内存,扩展性非常差。
1.Core * R * 32k
2.256MB,if 8 cores and 1000 reducer
—Total shuffle file number(improved)(写缓存还是一样)
1.Core * R
—Write buffer size(same)
2.Core * R * 32k
Spark核心计算——shuffle write(sort-based)(借鉴mapreduce,几乎一模一样)
maptask只产生一个文件。产生的文件写到executor所在的节点的磁盘,通过http拉取。比基于hash的扩展性好很多!
Spark核心计算——shuffle read
基于hash和基于sort的shuffle实现在shuffle read阶段都是一样的。
Spark核心计算——shuffle read (以hash-based为例)
Spark核心计算——aggregate (以hash-based为例)
hash map实现是基于内存的
Spark核心计算——aggregate
Memory not enough?
Spark核心计算——groupBy
shuffle map端不会有归约,直接把key相同的传到reduce端,把value放到一起。
Spark核心计算——shuffle比较
spark shuffle最终写磁盘(中间会写内存一般是32k)spark不是全内存的。还有全内存的计算框架。
- Spark Shuffle剖析
- spark源码剖析之----Shuffle
- spark中shuffle框架剖析
- 第25课 Spark Hash Shuffle源码解读与剖析
- spark shuffle mapreduce shuffle
- spark shuffle
- Spark-shuffle
- spark Shuffle
- spark shuffle
- spark shuffle
- Spark Shuffle之Hash Shuffle
- Spark Shuffle之Sort Shuffle
- day25:Spark Sort-Based Shuffle内幕工作机制、案例实战、源码剖析、优缺点及改进方式
- 【Spark】Spark的Shuffle机制
- 【spark】spark之shuffle调优
- spark shuffle过程分析
- Spark Shuffle实现
- Spark Shuffle初探
- 自定义View (Android群英传)
- CMake 用法导览
- zabbix安装
- Primes on Interval
- win10 Intellij idea开发Hadoop MapReduce程序单机测试
- Spark Shuffle剖析
- CCF认证 俄罗斯方块下落问题
- webservice学习笔记(一)
- 神来之笔之傅里叶变换(相位谱)
- 线性分类器之Fisher线性判别
- adb命令备忘
- mysql查询优化的20条经验
- php fopen失败,读写路径错误,file_get_contents失败 文件读写
- C++ 抛出列表