主要观点总结
本次分享将围绕Blaze的原理及架构设计、面向生产的深度优化、当前进展及未来规划三个方面展开。Blaze是快手自研的基于向量化技术开发的Spark向量化执行引擎,执行过程充分利用native代码和SIMD指令向量化计算的优势,目前已在快手内部部分业务上线,并实现了30%的算力提升。
关键观点总结
关键观点1: Blaze的原理及架构设计
解释了Spark的发展历程和存在的问题,以及Blaze的设计思路和实现方式,包括Spark 1.0、2.0、3.0阶段的特点和向量化执行的重要性。Blaze是快手自研的基于rust和datafusion框架开发的Spark向量化执行引擎,通过引入Blaze Session Extension组件进行翻译,将物理执行计划转化为native向量化引擎可以识别的计划,提交到Executor端由Native引擎执行计算。
关键观点2: 面向生产的深度优化
描述了面向线上生产环境的深度优化工作,包括细粒度的FailBack机制、基于CBO的转换策略、更高效的向量化数据传输格式、多级内存管理策略、复杂度更优的聚合算法实现、向量化计算场景的表达式重复计算优化等。
关键观点3: 当前进展及未来规划
介绍了Blaze的当前进展,包括已经支持的功能和未来的规划。在内部一些典型业务场景中,通过应用这些优化,算力平均提升了30%以上。未来规划包括持续迭代优化,支持更多引擎或场景,如数据湖等。
文章预览
导读 Blaze 是快手自研的基于向量化技术开发的一套 native 执行引擎,执行过程充分利用 native 代码和 SIMD 指令向量化计算的优势。目前已在快手内部部分业务上线,并实现了 30% 的算力提升。 本次分享将围绕下面三点展开: 1. Blaze 原理及架构设计 2. 面向生产的深度优化 3. 当前进展及未来规划 分享嘉宾| 王磊 博士 快手 大数据离线生产引擎及数据湖负责人 编辑整理|李笑宇 内容校对|李瑶 出品社区| DataFun 01 Blaze 原理及架构设计 要回答 Blaze 是什么,先要从 Spark 的发展历程说起。Spark 作为业界当前离线生产链路的主力引擎,如何持续提升执行效率始终是个核心命题,
而 Spark 社区也一直在通过代码生成和自适应查询执行等手段在不断迭代优化。 1. Spark 1.0 Spark 1.0 阶段,采用的是解释执行模型,每个算子自成一个函数。解释执行模型
………………………………