Spark在不同存储格式下的性能对比

       笔者发现,很多同学在各种项目中尝试使用Spark,大多数同学最初开始尝试使用Spark的原因都很简单,主要就是为了让大数据计算作业的执行速度更快、性能更高。然而,通过Spark开发出高性能的大数据计算作业,并不是那么简单的。如果没有对Spark进行合理的调优,Spark作业的执行速度可能会很慢,甚至根本体会不到Spark作为一种快速大数据计算引擎的优势。
       事实上,Spark系统的性能调优是一个很复杂的过程,需要对Spark以及Hadoop有足够的知识储备,从硬件、操作系统、HDFS、数据存储格式、Spark等多个层面都会对性能产生很大的影响,显然不是调节几个参数就可以搞的定的。本文测试的目的是用来对比 Spark 三种存储格式TEXT、PARQUET、YDB的在性能差异。
       因机器环境以及配置的不同,测试结果可能略有差异,该测试报告仅对笔者的软硬件环境负责。

测试结论:
通过以下比较全面测试,发现数据存储格式对Spark的性能有非常大影响。
Text的测试性能表现极差,在绝大部分场景中,YDB相比Parquet有较大的性能提升。

1、检索过滤性能

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
2、排序性能

1~2个列的TOP N排序

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
10~12个列的TOP N排序

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
3、统计性能
1个列的统计

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
1~2个列的Group By

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
10~12个列的统计及Group By

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
4、高纬值列的性能
高纬值列统计及排序性能

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
高纬值列的Group By性能

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
5、存储空间使用情况

Spark在不同存储格式下的性能对比
Spark在不同存储格式下的性能对比
6、导入速度对比
Spark在不同存储格式下的性能对比

Spark在不同存储格式下的性能对比