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

如何在Azure Databricks的Notebook N2中触发带动态日期参数的作业?

解决方案

方法1:通过Databricks Jobs API触发目标作业

在Notebook N2中计算出昨日日期后,调用Jobs API触发主Notebook对应的作业并传入参数,步骤如下:

  1. 生成昨日日期
    用代码计算并格式化昨日日期,Python示例:

    from datetime import datetime, timedelta
    yesterday = (datetime.today() - timedelta(days=1)).strftime("%Y-%m-%d")
    
  2. 配置API认证信息
    在Databricks工作区生成个人访问令牌(PAT),并用密钥管理工具存储敏感信息:

    databricks_token = dbutils.secrets.get(scope="your-secret-scope", key="databricks-pat")
    workspace_url = "https://<your-workspace-url>.azuredatabricks.net"
    
  3. 调用API触发作业
    发送POST请求启动目标作业,传入计算好的日期参数:

    import requests
    job_id = <your-main-job-id>  # 替换为目标作业的ID
    payload = {
        "job_id": job_id,
        "notebook_params": {
            "date_param": yesterday  # 替换为主Notebook接收的参数名
        }
    }
    headers = {
        "Authorization": f"Bearer {databricks_token}",
        "Content-Type": "application/json"
    }
    response = requests.post(f"{workspace_url}/api/2.1/jobs/run-now", json=payload, headers=headers)
    
    if response.status_code == 200:
        print(f"作业触发成功,运行ID:{response.json()['run_id']}")
    else:
        print(f"触发失败:{response.text}")
    

方法2:将N2设为作业的前置任务(推荐方案)

直接调整目标作业的任务链,让调度自动先执行N2计算日期,再传给主Notebook:

  1. 在N2中存储计算结果
    计算完日期后,用任务值传递功能保存参数:

    dbutils.jobs.taskValues.set(key="yesterday_date", value=yesterday)
    
  2. 修改目标作业的任务配置

    • 编辑主作业,添加一个新的Notebook任务,选择N2作为第一个执行的任务
    • 在主Notebook任务的参数设置中,用{{tasks.N2.yesterday_date}}引用N2传递的日期参数
    • 保存作业后,直接调度这个包含两个任务的作业即可,无需额外触发逻辑

方法3:直接在N2中运行主Notebook

如果不需要触发独立作业,而是直接在N2的上下文里运行主Notebook,用dbutils.notebook.run方法:

from datetime import datetime, timedelta
yesterday = (datetime.today() - timedelta(days=1)).strftime("%Y-%m-%d")

main_notebook_path = "/path/to/your-main-notebook"  # 替换为主Notebook的路径
run_result = dbutils.notebook.run(
    main_notebook_path,
    timeout_seconds=3600,
    arguments={"date_param": yesterday}
)
print(f"主Notebook运行完成,结果:{run_result}")

内容的提问来源于stack exchange,提问作者Krishna Pavan Ayitha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:48:58