相关文章推荐
狂野的荒野  ·  C# Stopwatch详解-CSDN博客·  1 年前    · 
鼻子大的肉夹馍  ·  WPF 按钮 Button 的 ...·  1 年前    · 

本文介绍了 Databricks 既不提供也不支持的 DBeaver。 若要联系提供商,请参阅 GitHub 上 dbeaver/dbeaver 存储库的“ 问题 ”页。

DBeaver 是一个本地多平台数据库工具,适用于开发人员、数据库管理员、数据分析师、数据工程师以及需要使用数据库的其他人员。 DBeaver 支持 Azure Databricks 和其他常用数据库。

本文介绍了如何使用本地开发计算机来安装、配置和使用免费的开源 DBeaver Community Edition (CE),以使用 Azure Databricks 中的数据库。

本文已使用 macOS、 Databricks JDBC Driver 版本 2.6.25 和 DBeaver CE 版本 22.1.0 进行了测试。

安装 DBeaver 之前,本地开发计算机必须满足以下要求:

  • Linux 64 位、macOS 或 Windows 64 位操作系统。 (支持 Linux 32 位,但不建议使用。)
  • Databricks JDBC Driver 下载到本地开发计算机上,并从下载的 DatabricksJDBC42-<version>.zip 文件中解压缩 DatabricksJDBC42.jar 文件。
  • 你还必须有 Azure Databricks 群集 SQL 仓库 才能连接 DBeaver。

    步骤 1:安装 DBeaver

    下载并安装 DBeaver CE ,如下所述:

  • Linux:从 DBeaver 网站的 下载 页面下载并运行 Linux 安装程序之一。 此页面上还提供了 snap flatpak 安装选项。
  • macOS:使用 Homebrew 运行 brew install --cask dbeaver-community ,或使用 MacPorts 运行 sudo port install dbeaver-community 。 DBeaver 网站的 下载 页面上也提供了 macOS 安装程序。
  • Windows:使用 Chocolatey 运行 choco install dbeaver 。 DBeaver 网站的 下载 页面上也提供了 Windows 安装程序。
  • 步骤 2:配置用于 DBeaver 的 Databricks JDBC 驱动程序

    使用前面下载的 Databricks JDBC 驱动程序的相关信息设置 DBeaver。

  • 启动 DBeaver。
  • 如果系统提示你创建新数据库,请单击“否”。
  • 如果系统提示你连接或选择数据库,请单击“取消”。
  • 单击 数据库>驱动程序管理器
  • 在“驱动程序管理器”对话框中,单击“新建”。
  • 在“新建驱动程序”对话框中,单击“库”选项卡。
  • 单击“添加文件”。
  • 浏览到此前提取的 DatabricksJDBC42.jar 文件并单击“打开”。
  • 单击“查找类”。
  • 在“驱动程序类”列表中,确认选中了“com.databricks.client.jdbc.Driver”。
  • 在“设置”选项卡上,输入 Databricks 作为“驱动程序名称”。
  • 在“设置”选项卡上,输入 com.databricks.client.jdbc.Driver 作为“类名”。
  • 单击“确定”。
  • 在“驱动程序管理器”对话框中,单击“关闭”。
  • 步骤 3:将 DBeaver 连接到你的 Azure Databricks 数据库

    使用 DBeaver 连接到群集或 SQL 仓库,以访问你的 Azure Databricks 工作区中的数据库。

  • 在 DBeaver 中,单击 数据库>新建数据库连接

  • 在“连接到数据库”对话框的“所有”选项卡上,单击“Databricks”,然后单击“下一步”。

  • 单击“主要”选项卡,在你的 Azure Databricks 资源的“JDBC URL”字段中输入一个值:

  • 在群集的“ 高级选项 ”区域中的“JDBC/ODBC”选项卡上查找“JDBC URL”字段值。 JDBC URL 应当类似于以下项:

    jdbc:databricks://adb-1234567890123456.7.azuredatabricks.net:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/1234567890123456/1234-567890-reef123;AuthMech=3;UID=token;PWD=<personal-access-token>

    如果 JDBC URL 以 jdbc:spark: 开头,则必须将其更改为 jdbc:databricks: ,否则稍后会出现连接错误。

  • <personal-access-token> 替换为用于 Azure Databricks 工作区的 个人访问令牌

  • 选中“在本地保存密码”。

    如果不希望在本地开发计算机上存储个人访问令牌,请在 JDBC URL 中省略 UID=token;PWD=<personal-access-token> ,然后取消选中“在本地保存密码”。 每次尝试连接时,系统都会提示你输入用户名 ( token ) 和密码(你的个人访问令牌)。

    SQL 仓库

  • 在 SQL 仓库的“ 连接详细信息 ”选项卡上找到“JDBC URL”字段值。 JDBC URL 应当类似于以下项:

    jdbc:databricks://adb-1234567890123456.7.azuredatabricks.net:443/default;transportMode=http;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/a123456bcde7f890;
    

    如果 JDBC URL 以 jdbc:spark: 开头,则必须将其更改为 jdbc:databricks:,否则稍后会出现连接错误。

  • 对于“用户名”,请输入 token

  • 对于“密码”,请输入你的个人访问令牌

  • 选中“在本地保存密码”。

    如果不希望在本地开发计算机上存储个人访问令牌,请将“用户名”和“密码”留空,并取消选中“在本地保存密码”。 每次尝试连接时,系统都会提示你输入用户名(单词 token)和密码(你的个人访问令牌)。

  • 单击 “测试连接”

    在测试连接之前,你应当启动 Azure Databricks 资源。 否则,测试会在资源启动的同时进行,可能需要几分钟才能完成。

  • 如果连接成功,请在“连接测试”对话框中单击“确定”。

  • 在“连接到数据库”对话框中,单击“完成”。

    此时“数据库导航器”窗口中会显示一个“Databricks”条目。 若要更改连接名称,使其更易于识别,请执行以下操作:

  • 右键单击“Databricks”,然后单击“编辑连接”。
  • 在“连接配置”对话框中,单击“常规”。
  • 对于“连接名称”,请将“Databricks”替换为另一个连接名称。
  • 单击“确定”。
  • 针对需要 DBeaver 访问的每个资源,按此步骤中的说明重复操作。

    步骤 4:使用 DBeaver 浏览数据对象

    使用 DBeaver 访问 Azure Databricks 工作区中的数据对象,例如表和表属性、视图、索引、数据类型和其他数据对象类型。

  • 在 DBeaver 中的“数据库导航器”窗口中,右键单击要使用的连接。

  • 如果“连接”按钮已启用,请单击它。 (如果“连接”按钮被禁用,则你已连接。)

    在尝试连接到资源之前,应当启动资源。 否则,连接会在资源启动的同时进行,可能需要几分钟才能完成。

  • 展开刚才连接到的连接。

  • 展开并浏览可用的数据对象。 双击该数据对象以获取有关它的详细信息。

    按此步骤中的说明重复操作,以访问其他数据对象。

    步骤 5:使用 DBeaver 运行 SQL 语句

    使用 DBeaver 将示例 diamonds 表从示例数据集加载到工作区中的 default 数据库,然后查询该表。 有关详细信息,请参阅创建表。 如果不想加载示例表,请跳到后续步骤

  • 在 DBeaver 中的“数据库导航器”窗口中,右键单击要使用的连接。

  • 如果“连接”按钮已启用,请单击它。 (如果“连接”按钮被禁用,则你已连接。)

    在尝试连接到资源之前,应当启动资源。 否则,连接会在资源启动的同时进行,可能需要几分钟才能完成。

  • 单击 SQL 编辑器>新建 SQL 脚本

  • 在“(connection-name) Script-1”选项卡上,输入以下 SQL 语句,这将删除名为 diamonds 的表(如果该表存在),然后基于 Databricks 文件系统 (DBFS) 装入点中 CSV 文件的内容创建一个名为 diamonds 的表:

    DROP TABLE IF EXISTS diamonds;
    CREATE TABLE diamonds USING CSV OPTIONS (path "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", header "true");
    
  • 单击 SQL 编辑器>执行 SQL 语句

  • 在“数据库导航器”窗口中,右键单击默认数据库,然后单击“刷新”。

  • 展开“表”,然后双击“diamonds”。

  • 在“diamonds”选项卡中,单击“数据”选项卡以查看表的数据。

    若要删除 diamonds 表,请执行以下操作:

  • 单击 SQL 编辑器>新建 SQL 脚本

  • 在“(connection-name) Script-2”选项卡上,输入以下 SQL 语句,这将删除 diamonds 表。

    DROP TABLE IF EXISTS diamonds;
    
  • 在“SQL 编辑器”菜单上,单击“执行 SQL 语句”。

  • 在“数据库导航器”窗口中,右键单击 default 数据库,然后单击“刷新”。 diamonds 表从表的列表中消失。

  • 使用数据库对象编辑器来处理数据库对象属性、数据和实体关系图。
  • 使用数据编辑器查看和编辑数据库表或视图中的数据。
  • 使用 SQL 编辑器来处理 SQL 脚本。
  • 在 DBeaver 中使用实体关系图 (ERD)。
  • 在 DBeaver 中导入和导出数据
  • 使用 DBeaver 迁移数据
  • 排查 DBeaver 的 JDBC 驱动程序问题
  • DBeaver 文档
  • DBeaver 支持
  • DBeaver 版本
  • CloudBeaver
  •