-
Spark性能调优之Shuffle调优
摘要:Spark性能调优之Shuffle调优 • Spark底层shuffle的传输方式是使用netty传输,netty在进行网络传输的过程会申请堆外内存(netty是零拷贝),所以使用了堆外内存。 <!--more--> • shuffle过程中常出现的问题 常见问题一:reduce oom? 问题原因
阅读全文
-
hbase性能优化总结
摘要:hbase性能优化总结 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是
阅读全文
-
Spark性能调优之解决数据倾斜
摘要:Spark性能调优之解决数据倾斜 数据倾斜七种解决方案 shuffle的过程最容易引起数据倾斜 1.使用Hive ETL预处理数据 <!--more--> • 方案适用场景:如果导致数据倾斜的是Hive表。如果该Hive表中的数据本身很不均匀(比如某个 key对应了100万数据,其他key才对应了1
阅读全文
-
Spark性能调优之代码方面的优化
摘要:Spark性能调优之代码方面的优化 1.避免创建重复的RDD 对性能没有问题,但会造成代码混乱 2.尽可能复用同一个RDD,减少产生RDD的个数 <!--more--> 3.对多次使用的RDD进行持久化(cache,persist,checkpoint) 如何选择一种最合适的持久化策略? 默认MEM
阅读全文
-
Spark性能调优之合理设置并行度
摘要:Spark性能调优之合理设置并行度 1.Spark的并行度指的是什么? spark作业中,各个stage的task的数量,也就代表了spark作业在各个阶段stage的并行度! <!--more--> 当分配完所能分配的最大资源了,然后对应资源去调节程序的并行度,如果并行度没有与资源相匹配,那么导致
阅读全文
-
Spark性能调优之资源分配
摘要:Spark性能调优之资源分配 性能优化王道就是给更多资源!机器更多了,CPU更多了,内存更多了,性能和速度上的提升,是显而易见的。基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,<!--more--> 进行性能调优的时候,首先第一步,我觉得,就是要来调节
阅读全文
-
Spark性能调优之JVM调优
摘要:Spark性能调优之JVM调优 通过一张图让你明白以下四个问题 1.JVM GC机制,堆内存的组成 2.Spark的调优为什么会和JVM的调优会有关联?--因为Scala也是基于JVM运行的语言 3.Spark中OOM产生的原因 4.如何在JVM这个层面上来对Spark进行调优 补充: Spark程
阅读全文
-
Spark数据本地化-->如何达到性能调优的目的
摘要:Spark数据本地化-->如何达到性能调优的目的 1.Spark数据的本地化:移动计算,而不是移动数据 2.Spark中的数据本地化级别: TaskSetManager 的 Locality Levels 分为以下五个级别: PROCESS_LOCAL NODE_LOCAL NO_PREF RACK
阅读全文
|