【问题标题】:Azure Databricks python command to show current cluster configAzure Databricks python 命令显示当前集群配置
【发布时间】:2021-09-14 17:56:43
【问题描述】:

我目前正在优化我们的 ETL 流程,并希望能够查看处理数据时使用的现有集群配置。这样,我可以随着时间的推移跟踪我应该使用哪些工作节点大小。

是否有一个命令可以在 python 中返回集群工作人员 # 和大小,以便我可以将其编写为数据框?

【问题讨论】:

    标签: python azure databricks azure-databricks


    【解决方案1】:

    您可以通过调用 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 令牌可能不可用,但您可以生成您的令牌,然后将其放在那里

    【讨论】:

    • 太棒了!不知道为什么这在网上很难找到
    • 我正在通过执行线程执行并行笔记本......当我这样做时,我无法查看当前上下文。 "dbutils.notebook.entry_point.getDbutils().notebook().getContext()" 结果为 None 有解决办法吗?
    • 我需要查看(不是今天) - 当您在单独的线程中执行它时,您可能需要显式设置上下文。我不记得了
    猜你喜欢
    • 2020-02-29
    • 1970-01-01
    • 2021-06-22
    • 2010-12-02
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多