You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks Python Wheel任务中获取job_id与run_id?

解决Databricks Python Wheel任务获取Job ID和Run ID的问题

方法1:读取Databricks自动注入的环境变量

Databricks会为运行中的任务自动注入环境变量,直接读取即可拿到所需ID:

  • DATABRICKS_JOB_ID:对应任务的Job ID
  • DATABRICKS_RUN_ID:对应当前运行的Run ID

在Python Wheel代码中读取的示例:

import os

job_id = os.getenv("DATABRICKS_JOB_ID")
run_id = os.getenv("DATABRICKS_RUN_ID")

# 用于日志或监控的后续逻辑
print(f"当前任务Job ID: {job_id}, 运行实例Run ID: {run_id}")

方法2:在Workflow配置中通过模板变量传递参数

Python Wheel任务的字符串数组参数支持使用Databricks模板变量,只需在配置中正确传递:

  1. 打开Workflow任务配置,找到Python Wheel任务的参数设置项
  2. 添加两个参数,分别填入{{job_id}}和{{run_id}}
  3. 在Wheel的入口脚本中通过命令行参数接收:
import sys

def main():
    # 按配置中的参数顺序接收,可根据实际业务参数调整位置
    job_id = sys.argv[1]
    run_id = sys.argv[2]
    # 业务逻辑处理
    print(f"通过参数传入的Job ID: {job_id}, Run ID: {run_id}")

if __name__ == "__main__":
    main()

方法3:使用Databricks Utilities(dbutils)获取

如果Wheel运行在Databricks集群环境中,可通过dbutils读取内置参数:

from pyspark.dbutils import DBUtils
from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
dbutils = DBUtils(spark)

job_id = dbutils.widgets.get("jobId")
run_id = dbutils.widgets.get("runId")

注意:该方式依赖Spark环境,无服务器集群或轻量任务场景需确认dbutils可用性。


内容的提问来源于stack exchange,提问作者Gohmz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:22:10