我们把基于成本的优化器框架贡献给社区版本Spark2.2。在我们的框架中,我们计算每个数据库操作符的基数和输出大小。通过可靠的统计和精确的估算,我们能够在这些领域做出好的决定:选择散列连接(hashjoin)操作的正确构建端(buildside),选择正确的连接算法(如broadcasthashjoin与shuffledhashjoin),调整连接的顺序等等。这个基于成本的优化器框架对SparkSQL查询的性能有很好的提升。在这次演讲中,我们将展示SparkSQL的新的基于成本的优化器框架及其对TPC-DS查询的性能影响。