1. 性能优化
1.1 自适应查询执行(AQE)
Spark3.x引用了AQE功能,它可以在运行时动态调整查询计划,包括合并小文件,优化join策略等。
1.2 动态分区裁剪
改进了SQL查询中的分区裁剪能力,允许在运行时根据过滤条件更精确的确定需要读取的分区,从而减少不必要的IO操作。
1.3 广播连接优化
增强了广播连接功能,使得广播表的选择更加智能,减少不必要的广播操作,并且可以更好的处理大表与小表之间的连接。
1.4 shuffle处理的优化
改进了shuffle操作的效率,例如通过减少磁盘IO和网络传输加速数据交换过程。
1.5 SQL性能提升
对TPC-DS基准测试中的一些查询性能有显著提升,部分查询的速度提高了2倍到18倍。
2. 易用性和API改进
2.1 统一编程模型
提供了更为统一的编程接口,简化了DataFrame和Dataset API的使用,同时更强了Structured Streaming的功能。