跳转到主要内容
ClickHouse Spark connector 可与 Databricks 无缝集成。本指南介绍 Databricks 的平台专属配置、安装和使用方式。

Databricks 的 API 选择

默认情况下,Databricks 使用 Unity Catalog,这会阻止 Spark 目录注册。在这种情况下,你必须使用 TableProvider API (基于格式的访问) 。 不过,如果你通过创建访问模式为 No isolation shared 的集群来禁用 Unity Catalog,则可以改用 Catalog API。Catalog API 提供集中式配置和原生 Spark SQL 集成。

在 Databricks 上进行安装

选项 1:通过 Databricks UI 上传 JAR

  1. 构建或下载运行时 JAR:
  2. 将 JAR 上传到 Databricks 工作区:
    • 前往 Workspace → 导航到所需文件夹
    • 点击 Upload → 选择 JAR 文件
    • JAR 将存储在你的工作区中
  3. 在集群上安装该库:
    • 前往 Compute → 选择你的集群
    • 点击 Libraries 选项卡
    • 点击 Install New
    • 选择 DBFSWorkspace → 导航到已上传的 JAR 文件
    • 点击 Install
  1. 重启集群以加载该库

选项 2:通过 Databricks CLI 安装

选项 3:Maven 坐标 (推荐)

  1. 进入你的 Databricks 工作区:
    • 前往 Compute → 选择你的集群
    • 点击 Libraries 选项卡
    • 点击 Install New
    • 选择 Maven 选项卡
  2. 添加 Maven 坐标:
  1. 点击 Install,然后重启集群以加载该库

使用 TableProvider API

启用 Unity Catalog (默认) 时,你必须使用 TableProvider API (基于 format 的访问) ,因为 Unity Catalog 会阻止 Spark 目录 注册。如果你使用访问模式为 “No isolation shared” 的集群 并禁用了 Unity Catalog,则可以改用 Catalog API

读取数据

写入数据

此示例假定 Databricks 中已预先配置好 secret scope (机密作用域) 。有关设置说明,请参阅 Databricks 的机密管理文档

Databricks 特定注意事项

访问模式要求

ClickHouse Spark Connector 要求使用 Dedicated (原为 Single User) 访问模式。启用 Unity Catalog 时,不支持 Standard (原为 Shared) 访问模式,因为在该配置下,Databricks 会阻止外部 DataSource V2 连接器。

机密管理

使用 Databricks secret scope (机密作用域) 安全存储 ClickHouse 凭据:
有关设置步骤,请参阅 Databricks 的机密管理 文档

ClickHouse Cloud 连接

从 Databricks 连接 ClickHouse Cloud 时:
  1. 使用 HTTPS 协议 (protocol: https, http_port: 8443)
  2. 启用 SSL (ssl: true)

示例

完整工作流示例

最后修改于 2026年7月2日