optimization & error -02
- shuffle磁盘IO时间长
设置spark.local.dir为多个磁盘,并设置磁盘的IO速度快的磁盘,通过增加IO来优化shuffle性能
- map|reduce数量大,造成shuffle小文件数目多
spark.shuffle.consolidateFiles为true,来合并shuffle中间文件,此时文件数为reduce tasks数目
- collect输出大量结果时速度慢
collect源码中是把所有的结果以一个Array的方式放在内存中,可以直接输出到分布式的文件系统,然后查看文件系统中的内容
- Worker上的executor执行缓慢
设置spark.speculation=true 把那些持续慢的节点去掉
- streaming的吞吐量
spark.streaming.concurrentJobs
- streaming任务延迟、阻塞
job启动interval时间间隔太短了,导致每次job在指定时间无法正常执行完成,换句话说就是创建的windows窗口时间间隔太密集了
From satrys,
Kristen wang