Spark 新特性+核心回顾

Spark 新特性+核心

本文来自 B站 黑马程序员 - Spark教程 :原地址

1. 掌握Spark的Shuffle流程

1.1 Spark Shuffle

Map和Reduce

在Shuffle过程中,提供数据的称之为Map端(Shuffle Write)接收数据的称之为Reduce端(Shuffle Read)

在Spark的两个阶段中,总是前一个阶段产生 批Map提供数据,下一个阶产生一批Reduce接收数据

1.2 Hash Shuffle Manager

Spark 提供2种Shuffle管理器:

  • HashShuffleManager
  • SortShuffleManager

优化后的HashShuffleManager基本和未优化的一致,不同点在于

  1. 在一个Executor内,不同Task是共享Buffer缓冲区
  2. 这样减少了缓冲区乃至写入磁盘文件的数量,提高性能

1.3 Sort Shuffle Manager

SortShuffleManager的运行机制主要分成两种,一种是普通运行机制,另一种是bypass运行机制。

总结

  1. SortShuffle对比HashShuffle可以减少很多的磁盘文件,以节省网络IO的开销
  2. SortShuffle主要是对磁盘文件进行合并来进行文件数量的减少,同时两类Shuffle都需要经过内存缓冲区溢写磁盘的场景,所以可以得知,尽管Spark是内存迭代计算框架,但是内存迭代主要在窄依赖中,在宽依赖(Shuffle)中磁盘交互还是一个无可避免的情况。所以,我们要尽量减少Shuffle的出现,不要进行无意义的Shuffle计算

2. 掌握Spark3.0新特性

  1. AQE的开启通过:Spark.sql.adaptive.enabled设置为true开启,触发后极大提升SparkSQL计算性能
  2. 动态分区裁剪可以让我们更好的优化运行时分区内数据的量级。通过动态的谓词下推来获取传统静态谓词下推无法获得的更高过滤属性,减少操作的分区数据量以提高性能
  3. 新版Koalas类库可以让我们写Pandas API(Koalas提供)然后将它们运行在分布式的Spark环境上,Pandas开发者也能快速上手Spark
    将它们运行在分布式的Spark环境上,Pandas开发者也能快速上手Spark
相关推荐
武子康12 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天14 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
肌肉娃子3 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn
spark
初次攀爬者3 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法