发布日期:2026-01-11

安装Delta Lake

Delta Lake很好地集成在Apache Spark中。因此,最简单的方法是将Delta Lake与Apache Spark一起使用。2025年6月,Delta 发布了4.0.0版本,支持Spark 4.0.0。Delta Lake版本和Apache Spark的兼容版本见表10-3。

Delta Lake和Apache Spark的兼容版本如下表所示。

Delta Lake版本 Apache Spark版本
4.0.x 4.0.x
3.3.x 3.5.x
3.2.x 3.5.x
3.1.x 3.5.x
3.0.x 3.5.x
2.4.x 3.4.x
2.3.x 3.3.x
2.2.x 3.3.x
2.1.x 3.3.x
2.0.x 3.2.x
1.2.x 3.2.x
1.1.x 3.2.x
1.0.x 3.1.x
0.7.x 和 0.8.x 3.0.x
低于 0.7.0 2.4.2 - 2.4.<latest>

安装Delta Lake

兼容Spark 3.5.x的Delta Lake最新版本是3.3.2。下面介绍了在不同场景下安装Delta Lake的方式。

(1) 交互式安装

当使用Apache Spark shell时,Delta Lake包与--packages选项一起应用,并指定两个其他配置,命令如下:

$ bin/spark-shell --packages io.delta:delta-spark_2.12:3.3.2 
   --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" 
   --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog"

(2) 项目安装

如果是使用IntelliJ IDEA进行项目开发,则根据是开发Maven项目还是SBT项目,进行不同的依赖配置。

Maven中的pom.xml文件配置内容如下:

<dependency>
    <groupId>io.delta</groupId>
    <artifactId>delta-spark_2.12</artifactId>
    <version>3.3.2</version>
</dependency>

SBT中的build.sbt文件配置内容如下:

libraryDependencies += "io.delta" %% "delta-spark" % "3.3.2"

(3) Zeppelin解释器配置

如果是使用Zeppelin Notebook进行交互式开发,则需要将delta-spark_2.12-3.3.2.jar包拷贝到$SPARK_HOME/jars/目录下。然后,在Zeppelin的Spark解释器中添加相关属性。需要添加的属性见下表。

属性名 属性值 备注
spark.home /opt/bigdata/spark 请修改为自己的Spark安装目录
spark.sql.extensions io.delta.sql.DeltaSparkSessionExtension  
spark.sql.catalog.spark_catalog org.apache.spark.sql.delta.catalog.DeltaCatalog  

以上对Spark解释器配置是全局的。如果只想局部配置,则需要在每个notebook前指定配置,内容如下:

%spark.conf
spark.sql.extensions                                   io.delta.sql.DeltaSparkSessionExtension
spark.sql.catalog.spark_catalog                        org.apache.spark.sql.delta.catalog.DeltaCatalog
# 以下在测试/开发环境配置(执行 VACUUM 时,忽略最小保留时长限制)
spark.databricks.delta.retentionDurationCheck.enabled  false