每次我試圖創建一個集群API我得到這個。甚至當我真正使用的示例JSON API文檔:
' ' '
{
:“cluster_name single-node-cluster”,
:“node_type_id i3.xlarge”,
:“spark_version 7.6.x-scala2.12”,
“num_workers”: 0,
" custom_tags ": {
:“ResourceClass SingleNode”
},
" spark_conf ": {
“spark.databricks.cluster。配置文件”:“singleNode”,
“火花。大師”:“(* 4)”
}
}
' ' '
我認為也許這例子引發版本太老了,所以我將它設置為13.0,這沒有什麼影響。
這是提交使用Python ApiClient Databricks-CLI類。
完整的錯誤文本:
' ' '
HTTPError: 400客戶端錯誤:壞url請求:https://mothership-production.cloud.www.eheci.com/api/2.0/clusters/create
響應從服務器:
{“細節”:[{@type: 'type.googleapis.com/google.rpc.ErrorInfo',
“域”:”,
“原因”:“CM_API_ERROR_SOURCE_CALLER_ERROR”},
“error_code”:“INVALID_PARAMETER_VALUE”,
“消息”:“失蹤必需字段spark_version”}
' ' '
在python調試器,使用方法的databricks_cli / sdk / api_client.py (174) perform_query ()”。
如果我有調試器吐出theparameters“查詢”,得到:
data = {“num_workers”:“{“cluster_name”:“single-node-cluster”、“node_type_id”:“i3。超大”、“spark_version”:“7.6.x-scala2.12”、“num_workers”: 0,”custom_tags ": {“ResourceClass”:“SingleNode”},“spark_conf ": {" spark.databricks.cluster。配置文件”:“singleNode”、“火花。主”:“(* 4)“}}}
路徑= ' /集群創建'
頭={“授權”:“無記名(修訂)”,“內容類型”:“文本/ json”,“用戶代理”:“databricks-cli-0.17.7——”}
方法= '後'
嗯,我覺得愚蠢。
我試著再次databricks-cli,而是通過JSON,我做了“* * cluster_spec”這將擴大關鍵字作為單獨的參數和似乎工作。
databricks-sdk上我試著同樣的一個似乎沒有改變,所以我不得不fgure,現在由於CLI一個棄用,我猜。
嚐試使用databricks-sdk相反,隻是不同的參數,得到一個錯誤
“DatabricksError:正是1 virtual_cluster_size num_workers或自動定量必須指定”。
但是,正如您將在下麵看到的,它絕對有“num_workers”。再次,JSON是真的從API文檔....
' ' '
cluster_spec = {
:“cluster_name single-node-cluster”,
:“node_type_id i3.xlarge”,
:“spark_version 7.6.x-scala2.12”,
“num_workers”: 0,
" custom_tags ": {
:“ResourceClass SingleNode”
},
" spark_conf ": {
“spark.databricks.cluster。配置文件”:“singleNode”,
“火花。大師”:“(* 4)”
}
}
從磚。sdk進口WorkspaceClient
進口json
dbrix_environment =“生產”
dbrix_host = f“https://XXXXXX- .cloud.www.eheci.com {dbrix_environment}”
dbrix_token = dbutils.secrets。得到(=“funstuff”範圍,鍵=“choo-choo”)
w = WorkspaceClient (
主機= dbrix_host,
令牌= dbrix_token
)
w.clusters.create (json.dumps (cluster_spec))
' ' '