spark-sql性能测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark-sql性能测试相关的知识,希望对你有一定的参考价值。

一,测试环境
      1) 硬件环境完全相同:
             包括:cpu/内存/网络/磁盘Io/机器数量等
      2)软件环境:
             相同数据
             相同测试用例
      3) 不同计算框架,其中spark-sql 都是基于yarn的
      4)spark-sql executor内存总量不大于 hive使用内存峰值
二,不同框架在两个测试用例下的性能对比
1)bu_出租车需求数计算.sql
  orc orc (split 110M) parquet +snappy parquet +gzip
spark-sql 1.4 2mins, 7sec  1mins,40sec Parquet does not support decimal Parquet does not support decimal
spark-sql 1.6 1mins, 30sec   大概1mins,4sec 大概1mins,4sec 大概1mins,4sec
hive 20mins 18.5mins 大概20mins 大概20mins
所占空间(raw倍数) 1 1 1.6 1

技术分享

 

2)专快播单,接单情况.sql

      spark-sql 1.6保持分配600G的内存不变,在不同数据量下进行测试:

 
200G
550G
1.1T
spark-sql 1.4 11-12mins    
spark-sql 1.6 7-8mins 22mins 51mins
hive 15mins 50mins 将近5T内存,就没测试

 

技术分享

3) 听单

 
time
spark-sql 1.6 190s
hive 1117s

技术分享 

4) 

三,总结 

1)spark-sql 1.6  相对于spark-sql 1.4 提高30%的性能;
2)不同应用spark-sql相对于hive性能提升幅度不同,但是都会提高很多
3)不同存储+压缩格式,存储空间不同
4)hive的stage-1的mr个数与数据存储空间大小成正比;
     注:mr 的个数与block大小有关,所以在split切分设为110M以后,资源占用大概两倍;
5)在数据量接近或远大于分配内存资源的情况下,spark-sql速度比下降,但相对于hive,仍就很快(并且hive资源占用过多);

以上是关于spark-sql性能测试的主要内容,如果未能解决你的问题,请参考以下文章

性能测试的环境以及测试数据构造

性能测试: 环境搭建

性能测试

性能测试-概念篇(三)

软件性能测试方法论

性能测试规划