![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark调优
文章平均质量分 71
花和尚也有春天
会收集一些不错的文章,时常品读,也学着自己总结一些东西,坚持努力的方向!
展开
-
Spark调优:代码调优
代码调优分配更多的资源避免创建重复的RDD,复用同一个RDD 对多次使用的RDD进行持久化如何选择一种最合适的持久化策略?默认情况下,性能最高的当然是MEMORY_ONLY,但前提是你的内存必须足够足够大,可以绰绰有余地存放下整个RDD的所有数据。因为不进行序列化与反序列化操作,就避免了这部分的性能开销;对这个RDD的后续算子操作,都是基于纯内存中的数据的操作,不需要从磁盘文件中读取...原创 2018-10-19 20:00:58 · 416 阅读 · 0 评论 -
Spark调优:数据本地化(调优)
数据本地化的级别:PROCESS_LOCALtask要计算的数据在本进程(Executor)的内存中。NODE_LOCALtask所计算的数据在本节点所在的磁盘上。 task所计算的数据在本节点其他Executor进程的内存中。NO_PREFtask所计算的数据在关系型数据库中,如mysql。RACK_LOCALtask所计算的数据在同机架的不同节点的磁盘...原创 2018-10-19 20:06:12 · 768 阅读 · 0 评论 -
Spark调优:内存调优
内存调优JVM堆内存分为一块较大的Eden和两块较小的Survivor,每次只使用Eden和其中一块Survivor,当回收时将Eden和Survivor中还存活着的对象一次性复制到另外一块Survivor上,最后清理掉Eden和刚才用过的Survivor。也就是说当task创建出来对象会首先往Eden和survivor1中存放,survivor2是空闲的,当Eden和survivor1区域...原创 2018-10-19 20:07:44 · 599 阅读 · 0 评论 -
Spark 调优:Shuffle调优
buffer大小 shuffle read拉取数据量的大小 shuffle聚合内存的比例 拉取数据重试次数 重试间隔时间60s Spark Shuffle的种类 HashShuffle 合并机制 SortShuffle bypass机制 200次...原创 2018-10-20 00:04:15 · 218 阅读 · 0 评论 -
Spark调优:调节Executor的堆外内存
调节Executor的堆外内存Spark底层shuffle的传输方式是使用netty传输,netty在进行网络传输的过程会申请堆外内存(netty是零拷贝),所以使用了堆外内存。默认情况下,这个堆外内存上限默认是每一个executor的内存大小的10%;真正处理大数据的时候,这里都会出现问题,导致spark作业反复崩溃,无法运行;此时就会去调节这个参数,到至少1G(1024M),甚至说2G、4G...原创 2018-10-20 00:04:26 · 2468 阅读 · 2 评论 -
Spark调优:数据倾斜
解决数据倾斜1.使用Hive ETL预处理数据方案适用场景:如果导致数据倾斜的是Hive表。如果该Hive表中的数据本身很不均匀(比如某个key对应了100万数据,其他key才对应了10条数据),而且业务场景需要频繁使用Spark对Hive表执行某个分析操作,那么比较适合使用这种技术方案。方案实现思路:此时可以评估一下,是否可以通过Hive来进行数据预处理(即通过Hive ET...原创 2018-10-20 00:04:38 · 148 阅读 · 0 评论 -
Spark调优:故障解决(troubleshooting)
Spark故障解决(troubleshooting)shuffle file cannot find:磁盘小文件找不到。connection timeout ----shuffle file cannot find提高建立连接的超时时间,或者降低gc,降低gc了那么spark不能堆外提供服务的时间就少了,那么超时的可能就会降低。fetch data fail ---- shuff...原创 2018-10-20 00:04:43 · 169 阅读 · 0 评论