Apache Gluten(Velox 后端)中的 Delta Lake 特性支持状态

qianmoQqianmoQ· 更新于 2026-10-02· 阅读 4 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

Apache Gluten(Velox 后端)中的 Delta Lake 特性支持状态

本文档总结了 Delta Lake 表特性在与 **Apache Gluten(Velox 后端)**配合使用时的支持状态。

支持的 Spark / Delta 组合

Spark 配置Spark 版本Scala 版本Delta Lake 版本状态
spark-3.5Spark 3.5.x2.123.3.x已支持
spark-4.0Spark 4.0.x2.134.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 minWriterVersionDelta minReaderVersionIceberg format-version功能类型Gluten (Velox) 支持情况
基础功能211写入是
CHECK 约束31N/A写入否
变更数据流41N/A写入是
生成列41N/A写入部分支持
列映射52N/A读取和写入是
Identity 列61N/A写入是
行跟踪713写入部分支持
删除向量733读取和写入部分支持
TimestampNTZ731读取和写入否
液态聚类731读取和写入是
Iceberg 读取器 (UniForm)72N/A写入未测试
类型拓宽73N/A读取和写入部分支持
Variant733读取和写入未测试
Variant 拆分733读取和写入未测试
排序规则73N/A读取和写入未测试
受保护的检查点71N/A写入未测试

评论

登录后参与评论

正在加载评论…