【Gluten】Spark 的向量化执行引擎框架 Gluten

Gluten项目通过整合ApacheSpark与多种Native后端(如Velox、Clickhouse等),加速计算并支持数据格式转换,提供数据传输和内存管理优化。其FallbackProcessing机制确保兼容性,而glutenshuffle专注于列式数据shuffle。对于调试,支持跨Spark和Native库的排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gluten 项目主要用于“粘合” Apache Spark 和作为 Backend 的 Native Vectorized Engine。Backend 的选项有很多,目前在 Gluten 项目中已经明确开始支持的有 Velox、Clickhouse 和 Apache Arrow。通过使用Native backend 执行计算,加速 Spark 执行速度,目前在TPCH 测试中使用 velox backend 得到了最多3.6倍加速。下图为 Gluten 整体架构
在这里插入图片描述

plan conversion

spark physical plan 作为输入,使用 substrait 将其转换为 substrait plan,substrait plan作为一个统一的执行计划传递给不同的 native library,在不同的 library 中执行相同的的 pipeline,使用 library自己的算子执行 pipeline
在这里插入图片描述

buffer passing & sharing

gluten 提供两种方法来进行 spark JVM 和 native engine 之间的数据传输,如下图所示

  1. 下图中的绿线。使用 apache arrow 作为内存数据格式,将 velox 中的 velox 格式数据转换为 arrow 格式,使用 arrowColumnarVec
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值