本文介绍了 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 安装程序。
使用前面下载的 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