在 Spark 作业中获取 Databricks 集群 ID(或获取集群 link)

Get Databricks cluster ID (or get cluster link) in a Spark job

我想在 运行 Spark 作业中获取集群 link(或手动组成 link 的集群 ID)。

这将用于在警报消息中打印 link,使工程师更容易访问日志。

是否可以在 Databricks 的 Spark 作业中实现 运行?

当 Databricks 集群启动时,添加了许多 Spark 配置属性。他们中的大多数人的名字都以 spark.databricks. 开头 - 您可以在 Spark UI.

Environment 选项卡中找到所有这些

群集 ID 可用 spark.databricks.clusterUsageTags.clusterId 属性,您可以通过以下方式获取它:

spark.conf.get("spark.databricks.clusterUsageTags.clusterId") 

您可以通过 dbutils.notebook.getContext().apiUrl.get 调用(对于 Scala)或 dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiUrl().get()(对于 Python)

获取工作区主机名