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
相关推荐
BYSJMG1 分钟前
计算机毕设选题做什么好?基于大数据的用户美食数据分析与可视化,PySpark预处理+ECharts大屏,含Isolation Forest异常检测算法
大数据·python·信息可视化·数据分析·spark·课程设计·美食
心易行者8 分钟前
用html在线运行做数据可视化大屏,5个实战场景从入门到上线
大数据·前端·数据库·人工智能·python
晴天1634 分钟前
ES 标准、V8 引擎与 Node.js 版本联动关系全解与实战踩坑
大数据·elasticsearch·node.js
天衍四九-1 小时前
Agent Skills从入门到工程化(十六):面试中如何讲清楚 Agent Skills?
大数据·数据库·人工智能·python·chatgpt·面试
Capricorn19881 小时前
跨端同步与记忆锁定排障:OpenClaw 2.0 Active Memory 云端劫持危机,知芽 Notebook Skill 单元记忆架构解析
大数据·论文阅读·人工智能·笔记·架构·论文笔记
2601_962295992 小时前
Spark 和 Kafka 实现 Python 大规模情感分析
python·spark·kafka·情感分析·大规模处理
fastjson_2 小时前
Spark 安装和使用
大数据·分布式·spark
spter。2 小时前
从一次关注到最终一致:Canal、Outbox 与 Kafka 如何解决关系链双写问题
分布式·kafka
计算机源码社2 小时前
分享一个基于大数据的跨平台内容生态画像与互动等级分析系统,基于Hadoop+Spark的社交媒体互动数据可视化大屏分析
大数据·hadoop·python·机器学习·数据挖掘·spark·毕业设计
Zenova EdgeOS2 小时前
储能项目 BOT 模式演变:从单一建设到全周期运营的多元路径
大数据·人工智能