注意
本文适用于 Databricks JDBC 驱动程序版本 2.6.22 及更低版本。 有关最新的 Databricks JDBC 驱动程序版本 3 及更高版本,请参阅 Databricks JDBC 驱动程序。
若要使用 JDBC 连接 URL 通过 Azure Databricks 个人访问令牌进行身份验证,请设置以下属性集合,将 <personal-access-token> 替换为你的 Azure Databricks 个人访问令牌:
jdbc:spark://<server-hostname>:443;httpPath=<http-path>;transportMode=http;SSL=1;UID=token;PWD=<personal-access-token
Databricks 建议使用最安全的可用身份验证流。 本文中所述的身份验证流存在其他流中不存在的风险。 仅当其他更安全的流(如托管标识)不可行时,才应使用此流。
若要使用 Java 代码通过 Azure Databricks 个人访问令牌进行身份验证,请设置以下属性集合,将 <personal-access-token> 替换为你的 Azure Databricks 个人访问令牌:
// ...
String url = "jdbc:spark://<server-hostname>:443;httpPath=<http-path>;transportMode=http;SSL=1";
Properties p = new java.util.Properties();
p.put("UID", "token");
p.put("PWD", "<personal-access-token>");
// ...
DriverManager.getConnection(url, p);
// ...
若要使用 JDBC 连接 URL 通过 Microsoft Entra ID 令牌进行身份验证,请设置以下属性集合,将 <microsoft-entra-id-token> 替换为 Microsoft Entra ID 令牌:
jdbc:spark://<server-hostname>:443;httpPath=<http-path>;transportMode=http;SSL=1;AuthMech=11;Auth_Flow=0;Auth_AccessToken=<microsoft-entra-id-token>
若要使用 Java 代码通过 Microsoft Entra ID 令牌进行身份验证,请设置以下属性集合,将 <microsoft-entra-id-token> 替换为 Microsoft Entra ID 令牌:
String url = "jdbc:spark://<server-hostname>:443;httpPath=<http-path>;transportMode=http;SSL=1";
Properties p = new java.util.Properties();
p.put("AuthMech", "11");
p.put("Auth_Flow", "0");
p.put("Auth_AccessToken", "<microsoft-entra-id-token>");
// ...
DriverManager.getConnection(url, p);
// ...
- 旧版 Databricks JDBC 驱动程序需要设置 transportMode 和 SSL 属性。 Databricks 建议将这些值分别设置为
http和1。 - 有关可以根据需要调整的完整 Java 代码示例,请参阅 Databricks JDBC 驱动程序(Simba)的身份验证设置的开头。
- 若要获取
<server-hostname>和<http-path>的值,请参阅以下过程。
若要获取 Azure Databricks 群集的连接详细信息,请执行以下操作:
登录到你的 Azure Databricks 工作区。
在边栏中,单击“计算”。
在可用群集列表中,单击目标群集的名称。
在“配置”选项卡上,展开“高级选项”。
单击“JDBC/ODBC”选项卡。
复制所需的连接详细信息,例如服务器主机名、端口和 HTTP 路径。
若要获取 Databricks SQL 仓库的连接详细信息,请执行以下操作:
登录到你的 Azure Databricks 工作区。
在边栏中单击“SQL”>“SQL 仓库”。
在可用仓库列表中,单击目标仓库的名称。
在“连接详细信息”选项卡上,复制所需的连接详细信息,例如服务器主机名、端口和 HTTP 路径。
若要将驱动程序用于 Azure Databricks 群集,在连接或重启群集时需要以下两种权限才能调用用户或服务主体:
- “可连接到”权限,用于连接到正在运行的群集。
- “可重启”权限。在连接时,如果群集处于已终止状态,将使用此权限来自动触发群集启动。
若要将驱动程序用于 Databricks SQL 仓库,调用用户或服务主体需要“可使用”权限。 Databricks SQL 仓库停止后会自动启动。
注意
在 DirectQuery 模式下使用 Microsoft Power BI 时,建议使用 Databricks SQL 仓库。