如何使用API在Databricks中查找连接到集群的笔记本



我运行了一个通宵作业,终止Azure Databricks中所有正在运行的集群。由于每个集群可能由多人使用,我想通过编程找出哪些笔记本电脑连接到每个正在运行的集群。

我使用Python Databricks Cluster API(https://github.com/crflynn/databricks-api)然而,如果必要的话,我并不反对REST API。

dbx_env.cluster.get_cluster(cluster_id)

没有明确的API,所以它不是那么简单。一种可能的方法是分析attachNotebookattachNotebook事件的审核日志,并决定是否使用集群。但该方法可能不可靠,因为事件会延迟出现,而且您需要有一个分析审计日志的作业。

更简单的解决方案是在所有交互式集群上强制执行自动终止时间——在这种情况下,当没有人使用它们时,它们将自动终止。您可以:

  • 通过集群策略强制执行
  • 有一个脚本,它将遍历集群列表并检查自动终止时间,将其设置为大约30或60分钟
  • 监视器创建&编辑审核日志中的事件,并更正没有自动终止时间或自动终止时间非常高的集群

最新更新