Apache Gluten(Velox 后端)中的 Delta Lake 特性支持状态
登录后可跨设备保存划线和私人笔记登录
Apache Gluten(Velox 后端)中的 Delta Lake 特性支持状态
本文档总结了 Delta Lake 表特性在与 **Apache Gluten(Velox 后端)**配合使用时的支持状态。
支持的 Spark / Delta 组合
| Spark 配置 | Spark 版本 | Scala 版本 | Delta Lake 版本 | 状态 |
|---|---|---|---|---|
spark-3.5 | Spark 3.5.x | 2.12 | 3.3.x | 已支持 |
spark-4.0 | Spark 4.0.x | 2.13 | 4.0.x | 已支持 |
Spark 3.5 与 Spark 4.0 两种配置均支持原生 Delta 写入。上面两行的区别在于 Spark/Delta 的兼容性目标(Spark 3.5 + Delta 3.3 与 Spark 4.0 + Delta 4.0),而非原生写入能力上的差异。
构建与运行说明
启用 -Pdelta,并结合 Velox 后端配置和 Spark 配置,即可构建支持 Delta 的 Gluten。
Spark 3.5 构建示例:
mvn clean package -Pbackends-velox -Pdelta -Pspark-3.5 -DskipTests
Spark 4.0 构建示例:
mvn clean package -Pbackends-velox -Pdelta -Pspark-4.0 -Pscala-2.13 -Pjava-17 -DskipTests
原生 Delta 写入由以下配置控制:
spark.gluten.sql.columnar.backend.velox.delta.enableNativeWrite- 默认值:
false - 类型:experimental(实验性)
- 默认值:
原生变更数据流(Change Data Feed)扫描下推由以下配置控制:
spark.gluten.sql.columnar.backend.velox.delta.enableChangeDataFeedScan- 默认值:
true - 类型:experimental
- 默认值:
原生 DELETE/UPDATE/MERGE 删除向量(deletion-vector)目标扫描由以下配置控制:
spark.gluten.sql.columnar.backend.velox.delta.enableNativeDmlRowIndexScan- 默认值:
true - 类型:experimental
- 禁用时,为删除向量写入生成文件路径和行号的 DML 目标扫描仍保留在 Spark 上执行;其他扫描不受影响。
- 默认值:
| 功能 | Delta minWriterVersion | Delta minReaderVersion | Iceberg format-version | 功能类型 | Gluten (Velox) 支持情况 |
|---|---|---|---|---|---|
| 基础功能 | 2 | 1 | 1 | 写入 | 是 |
| CHECK 约束 | 3 | 1 | N/A | 写入 | 否 |
| 变更数据流 | 4 | 1 | N/A | 写入 | 是 |
| 生成列 | 4 | 1 | N/A | 写入 | 部分支持 |
| 列映射 | 5 | 2 | N/A | 读取和写入 | 是 |
| Identity 列 | 6 | 1 | N/A | 写入 | 是 |
| 行跟踪 | 7 | 1 | 3 | 写入 | 部分支持 |
| 删除向量 | 7 | 3 | 3 | 读取和写入 | 部分支持 |
| TimestampNTZ | 7 | 3 | 1 | 读取和写入 | 否 |
| 液态聚类 | 7 | 3 | 1 | 读取和写入 | 是 |
| Iceberg 读取器 (UniForm) | 7 | 2 | N/A | 写入 | 未测试 |
| 类型拓宽 | 7 | 3 | N/A | 读取和写入 | 部分支持 |
| Variant | 7 | 3 | 3 | 读取和写入 | 未测试 |
| Variant 拆分 | 7 | 3 | 3 | 读取和写入 | 未测试 |
| 排序规则 | 7 | 3 | N/A | 读取和写入 | 未测试 |
| 受保护的检查点 | 7 | 1 | N/A | 写入 | 未测试 |
评论
登录后参与评论
正在加载评论…
KnowForge