【发布时间】:2021-10-24 15:30:50
【问题描述】:
我正在尝试获取正在运行的作业的名称。我想得到名字并发送消息。示例:我将作业部署到数据块并运行它。我希望这份工作在以工作名称开始时发送消息,这就是为什么我想获取当前工作的名称。
【问题讨论】:
标签: python apache-spark pyspark databricks
我正在尝试获取正在运行的作业的名称。我想得到名字并发送消息。示例:我将作业部署到数据块并运行它。我希望这份工作在以工作名称开始时发送消息,这就是为什么我想获取当前工作的名称。
【问题讨论】:
标签: python apache-spark pyspark databricks
Databricks 通过spark.conf 公开了大量信息——配置属性以spark.databricks.clusterUsageTags. 开头,因此您可以过滤所有配置并搜索必要的信息。
对于作业(以及交互式集群,但略有不同),有一个配置属性 spark.databricks.clusterUsageTags.clusterAllTags 表示一个 JSON 字符串,其中包含一个字典列表,每个字典由 key 和 value 字段组成。对于作业,您应该使用 RunName 键作为作业名称,并使用 JobId 作为作业 ID。你可以用这样的东西来转换它:
import json
all_tags = {}
for tag in json.loads(spark.conf.get(
"spark.databricks.clusterUsageTags.clusterAllTags")):
all_tags[tag['key']] = tag['value']
job_name = all_tags.get('RunName')
【讨论】: