
spark进阶
spark进阶
luoyunfan6
LuoYunfan
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spark1.6和spark2.0内存管理的对比
spark从1.6.4版本之后就直接到了2.0版本 下面简单说一下2.0内存管理的变化 在2.0之前,spark内存管理都是用静态管理的方式,主要是分成了三大块,比例为6(存储):2(执行):2(其他),如下图: spark2.0内存的管理发生了变化,开始使用统一内存管理,主要结构如下 storage和execution的动态占用机制 ...原创 2019-12-27 20:06:41 · 529 阅读 · 0 评论 -
Spark性能优化:shuffle调优
调优概述 ShuffleManager发展概述 HashShuffleManager运行原理 未经优化的HashShuffleManager 优化后的HashShuffleManager SortShuffleManager运行原理 普通运行机制 bypass运行机制 shuffle相关参数调优 spark.shuffle.file.buffer spark.reducer...转载 2019-11-28 17:36:53 · 163 阅读 · 0 评论 -
Spark性能优化:数据倾斜调优
1.数据倾斜调优 调优概述 数据倾斜发生时的现象 数据倾斜发生的原理 如何定位导致数据倾斜的代码 某个task执行特别慢的情况 某个task莫名其妙内存溢出的情况 查看导致数据倾斜的key的数据分布情况 2.数据倾斜的解决方案 解决方案一:使用Hive ETL预处理数据 解决方案二:过滤少数导致倾斜的key 解决方案三:提高shuffle操作的并行度 解决方案四:两阶段聚合...转载 2019-11-28 16:19:43 · 171 阅读 · 0 评论 -
Spark性能优化:开发调优篇
1、前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算...转载 2019-11-28 14:17:18 · 155 阅读 · 0 评论 -
spark中的序列化问题
在spark中4个地方用到了序列化: 1、算子中用到了driver定义的外部变量的时候 2、将自定义的类型作为RDD的泛型类型,所有的自定义类型对象都会进行序列化 3、使用可序列化的持久化策略的时候。比如:MEMORY_ONLY_SER,spark会将RDD中每个分区都序列化成一个大的字节数组。 4、shuffle的时候 任何分布式系统中,序列化都扮演着一个很重要的角色。如果使用的序...原创 2019-11-28 11:20:45 · 1102 阅读 · 0 评论 -
Spark性能优化:资源调优篇
Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪种情况,都会导致Spark作业的运行效率低下,甚...转载 2019-11-28 11:53:58 · 150 阅读 · 0 评论