问题描述
Databricks documentation 展示了如何从 UI 的 JDBC/ODBC 选项卡中获取集群的主机名、端口、HTTP 路径和 JDBC URL 参数。看图:
有没有办法以编程方式获取相同的信息?我的意思是使用 Databricks API 或 Databricks CLI。我对包含 Workspace Id 的 HTTP path
特别感兴趣。
解决方法
您可以使用 SQL Analytics REST API 的 Get operation(可能与 List
一起使用) - 它返回 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 路径也在那里,作为 path
对象的 odbc_params
部分。