其他调优
目的
根据核心数来调整分片数,使得每个核心处理的数据量尽可能一样,避免因数据倾斜导致的单核处理时间过长。
方法
- 该场景下采用3~5倍总核数作为数据分片的Partitions和Parallelism进行数据分片,减小单Task文件大小,对性能有提升。可以使用以下分片设置:
1 2
spark.sql.shuffle.partitions 1000 spark.default.parallelism 2000
- HiBench在配置文件中指定的运行核数、内存大小可以根据实际环境来做调整,来达到最优性能。例如对于鲲鹏920 5220处理器,Terasort场景建议以下Executor参数:
1 2 3 4
yarn.executor.num 27 yarn.executor.cores 7 spark.executor.memory 25G spark.driver.memory 36G
父主题: Terasort(IO+CPU密集型)