Azure Databricks用于显示当前群集配置的python命令
问题描述
我目前正在优化我们的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 = ctx.apiToken().get()
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令牌可能不可用,但您可以生成令牌并将其放在那里
相关文章