在 Spark 作业中获取 Databricks 集群 ID(或获取集群链接)
Posted
技术标签:
【中文标题】在 Spark 作业中获取 Databricks 集群 ID(或获取集群链接)【英文标题】:Get Databricks cluster ID (or get cluster link) in a Spark job 【发布时间】:2021-06-30 14:13:39 【问题描述】:我想在正在运行的 Spark 作业中获取集群链接(或手动组合链接的集群 ID)。
这将用于在警报消息中打印链接,使工程师更容易访问日志。
是否有可能在 Databricks 中运行的 Spark 作业中实现这一点?
【问题讨论】:
【参考方案1】: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)获取工作区主机名
【讨论】:
以上是关于在 Spark 作业中获取 Databricks 集群 ID(或获取集群链接)的主要内容,如果未能解决你的问题,请参考以下文章
无法为 Databricks 作业构建具有多个主类的 Spark 应用程序
Databricks/Spark SQL - 如何在地图类型字段中获取数据
Azure databricks - 无法使用来自 datalake 存储 gen2 服务的 spark 作业读取 .csv 文件