快手自研 Spark 向量化引擎发布,性能提升200%
Blaze 是快手自研的基于Rust语言和DataFusion框架开发的Spark向量化执行引擎,旨在通过本机矢量化执行技术来加速Spark SQL的查询处理。现已开源发布,开源版本全面兼容Spark 3.0~3.5。 公告称,在TPC-DS 1TB的测试中,Blaze相较于Spark 3.3版本减少了60%的计算时间、Spark 3.5版本减少了40%的计算时间,并大幅降低了集群资源的消耗;此外,Blaze在快手内部上线的数仓生产作业也观测到了平均30%的算力提升,实现了较大幅度的降本增效。 Spark+Blaze 的架构设计原理如下图: Blaze 架构中的核心模块有四个,共同驱动着大数据性能的显著提升。这些模块分别为: Native Engine:基于 Datafusion 框架实现的与 Spark 功能一致的 Native 算子,以及相关内存管理、FFI 交互等功能。 ProtoBuf:定义用于 JVM 和 native 之间的算子描述协议,对 Datafusion 执行计划进行序列化和反序列化。 JNI Bridge:实现 Spark Extension 和 Native E...


