如何以编程方式获取集群的 JDBC/ODBC 参数?

How to get the cluster's JDBC/ODBC parameters programmatically?

Databricks documentation 显示如何从 UI 中的 JDBC/ODBC 选项卡获取集群的主机名、端口、HTTP 路径和 JDBC URL 参数。见图:

有没有办法以编程方式获取相同的信息?我的意思是使用 Databricks API 或 Databricks CLI。我对包含 Workspace Id.

HTTP path 特别感兴趣

您可以使用 SQL Analytics REST API 的 Get operation(可能与 List 一起使用)- 它 returns JDBC 连接字符串作为响应的一部分(jdbc_url 字段):

{
  "id": "123456790abcdef",
  "name": "My SQL endpoint",
  "cluster_size": "Medium",
  "min_num_clusters": 1,
  "max_num_clusters": 10,
  "auto_stop_mins": 30,
  "num_clusters": 5,
  "num_active_sessions": 30,
  "state": "RUNNING",
  "creator_name": "user@example.com",
  "jdbc_url":"jdbc:spark://<databricks-instance>:443/default;transportMode=http;ssl=1;AuthMech=3;httpPath=/sql/protocolv1/o/0123456790abcdef;",
  "odbc_params": {
    "host": "<databricks-instance>",
    "path": "/sql/protocolv1/o/0/123456790abcdef",
    "protocol": "https",
    "port": 443
  }
}

HTTP 路径也在那里,作为 odbc_params 对象的 path 部分。

另一种方法是转到 Databricks 控制台

  1. 单击边栏中的计算图标“计算”。
  2. 选择要连接的集群。
  3. 导航到高级选项。
  4. 单击 JDBC/ODBC 选项卡。
  5. 复制连接详细信息。

更多详情here