快速开始
登录后可跨设备保存划线和私人笔记登录
Apache Gluten 快速入门
Apache Gluten 是一个通过将执行下推到原生引擎来加速 Apache Spark SQL 的插件。它无需修改现有的 Spark SQL 查询或 DataFrame API 代码,只需进行配置更改即可。
选择后端
Gluten 支持两种原生后端:
| 后端 | 说明 | 指南 |
|---|---|---|
| Velox | Meta 的 C++ 执行库 | Velox 后端 |
| ClickHouse | 以原生库形式移植的列式数据库管理系统 | ClickHouse 后端 |
快速开始(Velox 后端)
1. 前置条件
- 操作系统:Ubuntu 20.04/22.04 或 CentOS 7/8(其他 Linux 发行版可通过静态构建运行,但未经官方测试)
- JDK:OpenJDK 8 或 17(Spark 4.x 需要 JDK 17+)
- Spark:3.4.4、3.5.5、4.0.2 或 4.1.1
- Scala:2.12(Spark 4.x 需要 Scala 2.13)
2. 构建
## Set JAVA_HOME (JDK 8 or 17)
export JAVA_HOME=/path/to/your/jdk
export PATH=$JAVA_HOME/bin:$PATH
## Clone and build
git clone https://github.com/apache/gluten.git
cd gluten
./dev/buildbundle-veloxbe.sh参阅[构建指南]](https://apache.github.io/gluten/get-started/build-guide.html)了解构建选项与参数。
3. 部署
将 Gluten 的 jar 包与所需配置添加到你的 Spark 会话中。必须启用堆外内存,并且需要列式 shuffle 管理器以支持原生 shuffle:
spark-shell \
--master yarn --deploy-mode client \
--conf spark.plugins=org.apache.gluten.GlutenPlugin \
--conf spark.memory.offHeap.enabled=true \
--conf spark.memory.offHeap.size=20g \
--conf spark.shuffle.manager=org.apache.spark.shuffle.sort.ColumnarShuffleManager \
--jars /path/to/gluten-velox-bundle-*.jar根据您的环境调整 offHeap.size。
或者,您可以启用动态堆外内存分配(实验性功能),让 Gluten 根据 spark.executor.memory 自动管理堆外内存与堆内内存的划分:
spark-shell \
--master yarn --deploy-mode client \
--conf spark.plugins=org.apache.gluten.GlutenPlugin \
--conf spark.gluten.memory.dynamic.offHeap.sizing.enabled=true \
--conf spark.shuffle.manager=org.apache.spark.shuffle.sort.ColumnarShuffleManager \
--jars /path/to/gluten-velox-bundle-*.jar使用动态内存分配时,不需要 spark.memory.offHeap.enabled 和 spark.memory.offHeap.size——Velox 会以堆上内存大小作为其内存预算。详情请参见 动态堆外内存分配。
有关包含执行器(executor)和驱动(driver)设置的完整示例,请参阅 Velox 后端指南。
4. 验证
运行一个简单查询,并在 Spark UI 的查询计划中查找包含 Transformer、Velox 或 Columnar 的节点,这些节点表示原生执行。
下一步
评论
登录后参与评论
正在加载评论…
KnowForge