我目前正在优化我们的 ETL 流程,并且希望能够看到处理数据时使用的现有集群配置。这样,我可以随着时间的推移跟踪我应该使用哪些工作节点大小。
是否有一个命令可以在 python 中返回集群工作线程 # 和大小,以便我可以将其写入数据帧?
最佳答案
您可以通过调用 Cluster Get REST API 获取此信息- 它将返回 JSON,包括工作人员数量、节点类型等。如下所示:
import requests
ctx = dbutils.notebook.entry_point.getDbutils().notebook().getContext()
host_name = ctx.tags().get("browserHostName").get()
host_token = "your_PAT_token"
cluster_id = ctx.tags().get("clusterId").get()
response = requests.get(
f'https://{host_name}/api/2.0/clusters/get?cluster_id={cluster_id}',
headers={'Authorization': f'Bearer {host_token}'}
).json()
num_workers = response['num_workers']
附注如果您有非笔记本电脑工作,则 PAT token 可能不可用,但您可以生成 token ,并将其放在那里
https://stackoverflow.com/questions/69182503/