跳到内容

安装

Maven Central 包

连接器包发布到 Maven Central,命名空间为 com.lancedb。根据您的用例选择合适的 artifact

可用 Artifacts

Artifact 类型 名称模式 描述 示例
基础 Jar lance-spark-base_<scala_version> 包含不同版本 Spark Lance 连接器共享逻辑的 Jar。 lance-spark-base_2.12
精简 Jar lance-spark-<spark-version>_<scala_version> 仅包含 Spark Lance 连接器逻辑的 Jar lance-spark-3.5_2.12
捆绑 Jar lance-spark-bundle-<spark-version>_<scala_version> 包含所有必要的非 Spark 依赖项的 Jar lance-spark-bundle-3.5_2.12

选择正确的 Artifact

  • 捆绑 Jar:推荐给大多数用户。如果您想快速入门或在 Spark shell/notebook 环境中使用连接器,请使用此项。
  • 精简 Jar:如果您正在构建自定义 Spark 应用程序并希望自己管理和捆绑依赖项,请使用此项。
  • 基础 Jar:仅供内部使用。如果您想使用不同版本的 Spark 构建自定义 Spark Lance 连接器,请使用此项。

依赖配置

在 Spark 应用程序代码中

通常,您在 Spark 应用程序中将捆绑的 jar 作为 provided (compile only) 依赖项使用。实际的 jar 单独提供给 Spark 集群。如果您也想在自己的 bundle 中包含捆绑的 jar,请删除 provided (compile only) 注释。

<!-- For Spark 3.5 (Scala 2.12) -->
<dependency>
    <groupId>com.lancedb</groupId>
    <artifactId>lance-spark-bundle-3.5_2.12</artifactId>
    <version>0.0.7</version>
    <scope>provided</scope>
</dependency>
dependencies {
    // For Spark 3.5 (Scala 2.12)
    compileOnly 'com.lancedb:lance-spark-bundle-3.5_2.12:0.0.7'
}
libraryDependencies ++= Seq(
  // For Spark 3.5 (Scala 2.12)
  "com.lancedb" %% "lance-spark-bundle-3.5_2.12" % "0.0.7" % "provided"
)

在 Spark 集群中

您可以从 Maven 下载捆绑的 jar 依赖项并将其添加到 Spark classpath 中,或者通过 --packages 标志将依赖项动态提供给 Spark 集群。有关更多详细信息,请参阅配置

要求

Java

Java 版本 支持状态 备注
Java 8 ✅ 支持 最低要求版本
Java 11 ✅ 支持 推荐用于生产环境
Java 17 ✅ 支持 最新 LTS 版本 (Spark 4.0 已弃用 Java 8 和 11 支持)
Java 21+ ⚠️ 未测试 可能有效但未正式测试

Scala

Scala 版本 支持状态 备注
Scala 2.12 ✅ 支持 完全支持
Scala 2.13 ✅ 支持 完全支持
Scala 3.x ❌ 不支持 目前没有计划

Apache Spark

Spark 版本 支持状态 备注
Spark 4.0 ✅ 支持 仅限 Scala 2.13 (Spark 4.0 已弃用 Scala 2.12 支持)
Spark 3.5 ✅ 支持 Scala 2.12 和 2.13
Spark 3.4 ✅ 支持 Scala 2.12 和 2.13
Spark 3.1, 3.2, 3.3 ⚠️ 未测试 可能有效但未正式测试
Spark 2.x ❌ 不支持

操作系统

操作系统 架构 支持状态 备注
Linux x86_64 ✅ 支持
Linux ARM64 ✅ 支持 包括通过 Rosetta 运行的 Apple Silicon
macOS x86_64 ✅ 支持 基于 Intel 的 Mac
macOS ARM64 ✅ 支持 Apple Silicon (M1/M2/M3)
Windows x86_64 🚧 进行中 计划在未来的版本中提供支持