zoukankan      html  css  js  c++  java
  • spark新能优化之shuffle新能调优

    shuffle调优参数

    new SparkConf().set("spark.shuffle.consolidateFiles", "true")

    spark.shuffle.consolidateFiles:是否开启shuffle block file的合并,默认为false//设置从maPartitionRDD上面到到下个stage的resultTask时数据的传输快可以聚合(具体原理可以看下shuffle的原理设置和没设置的区别)
    spark.reducer.maxSizeInFlight:reduce task的拉取缓存,默认48m//设置拉取的缓存大,可以一次性拉取比较多的数据量达到减少拉取数据的次数
    spark.shuffle.file.buffer:map task的写磁盘缓存,默认32k//设置磁盘buff缓存,减少溢写到磁盘的次数,从而加高buff处的性能
    spark.shuffle.io.maxRetries:拉取失败的最大重试次数,默认3次//此处可以防止mirror GC或者Full GC的时候task线程被java的垃圾回收线程给占用,造成拉取失败,如果重试次数为3每次5秒,总共才15秒,FullGC是1分钟的话。就时间远远不够。spark会认为拉取失败报错甚至导致这个application崩溃
    spark.shuffle.io.retryWait:拉取失败的重试间隔,默认5s//同上
    spark.shuffle.memoryFraction:用于reduce端聚合的内存比例,默认0.2,超过比例就会溢出到磁盘上//设置或者加大reduce内存比可以加大reduce的内存减少溢写磁盘的次数

  • 相关阅读:
    Block编程
    自己写Web服务器(续)
    C# 2.0对现有语法的改进
    使用CDN
    优化网站设计(一):减少请求数
    MongoDB Shell的使用
    memcache 和appfabric
    go语言中几个有趣的特性以及对go的看法
    bpm流程平台
    Socket编程 (异步通讯) (Tcp,Udp)Part2
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/5667740.html
Copyright © 2011-2022 走看看