动态分区裁剪

即Dynamic Partition Pruning,在3.0以前不支持动态分区,所谓的动态分区是针对分区表中多个表进行join的时候运行时(runtime)推断出来的信息,在on后面的条件语句满足一定的要求后就会进行自动动态分区裁剪优化。
3.0以前:
image.png
3.0以后:
image.png

自适应查询执行

即Adaptive Query Execution,指对执行计划安装实际数据分布和组织情况,评估其执行所消耗的时间和资源,从而选择代价最小的计划执行。
执行计划:
image.png
3.0以前:
image.png
3.0以后:
image.png

加速器感知调度

即Accelerator-aware Scheduling,在Spark3.0版本,支持在Standalone、YARN以及Kubernetes资源管理器下支持GPU,并且对现有正常的作业基本没影响。后续将支持TPU

更好的API扩展

即BetterAPI-Extensions-DataSourceV2,更好的支持交互。
image.png

更好的ANSI-SQL兼容

即ANSI SQL Compatible,Spark SQL和函数更加接近ANSI标准,那么Spark会得到更加广泛的应用。

SparkR想量化读写

即Vectorization,更加友好支持R语言。