Spark性能优化实战经验.docxVIP

  • 13
  • 0
  • 约7.95千字
  • 约 8页
  • 2018-06-19 发布于上海
  • 举报
Spark性能优化实战经验近期优化了一个spark流量统计的程序,此程序跑5分钟小数据量日志不到5分钟,但相同的程序跑一天大数据量日志各种失败。经优化,使用160 vcores + 480G memory,一天的日志可在2.5小时内跑完,下面对一些优化的思路方法进行梳理。优化的目标保证大数据量下任务运行成功降低资源消耗提高计算性能三个目标优先级依次递减,首要解决的是程序能够跑通大数据量,资源性能尽量进行优化。基础优化这部分主要对程序进行优化,主要考虑stage、cache、partition等方面。Stage在进行shuffle操作时,如reduceByKey、groupByKey,会划分新的stage。同一个stage内部使用pipe line进行执行,效率较高;stage之间进行shuffle,效率较低。故大数据量下,应进行代码结构优化,尽量减少shuffle操作。Cache本例中,首先计算出一个baseRDD,然后对其进行cache,后续启动三个子任务基于cache进行后续计算。对于5分钟小数据量,采用StorageLevel.MEMORY_ONLY,而对于大数据下我们直接采用了StorageLevel.DISK_ONLY。DISK_ONLY_2相较DISK_ONLY具有2备份,cache的稳定性更高,但同时开销更大,cache除了在executor本地进行存储外,还需走网络

文档评论(0)

1亿VIP精品文档

相关文档