第一章
1.sparkshuffle
map和reduce
在shuffle过程中,提供数据的称之为ma段,几首数据的称之为reduce端
在spark的两个阶段中,总是前一个阶段产生一批map提供数据,下一阶段喊声一批reduce接收数据
2.spark提供2中shuffle管理器
hashshufflemanager
sortshufflemanager
3.hashshufflemanager,优化前后的不同点
在一个executor内,不同task是共享buffer缓冲区
这样减少了缓冲区乃以写入磁盘的数量提高性能
4.sort shuffle manager的运行机制
普通运行机制
bypass运行机制
第二章
1.自适应查询(adaptive query executio)(sparksql)(AQE)
动态合并shuffle partitions
动态调整join策略
动态优化倾斜join(skew joins)
2.动态分区裁剪(dynamic partition pruning)(sparksql)
3.增i强的python api:pyspark 和koalas
4.动态分区裁剪可以更好的优化运行时分区内的数据的量级,通过动态的谓词下推来获取传统的静态谓词下推无法获得的更高过滤属性,减少操作的分区数一提高性能