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

Databricks跨工作流:如何将Job1中NotebookA的参数传给Job2的NotebookB

解决Databricks跨工作流任务参数传递问题

要实现Job2中NotebookB获取Job1内NotebookA设置的key1参数,核心是让Job1把内部的任务值暴露为Job输出,再由Job2读取该输出并传递给NotebookB,具体步骤如下:

步骤1:修改Job1,导出NotebookA的参数为Job输出

Databricks的taskValues仅在同一工作流内可见,所以需要在Job1的收尾环节把NotebookA设置的key1值作为Job的输出返回:

  • 如果Job1只有TaskA(NotebookA)一个任务,直接在NotebookA的末尾添加以下代码:
import json
# 获取当前任务设置的key1值
key1_value = dbutils.jobs.taskValues.get(taskKey="TaskA", key="key1")
# 将值以JSON格式作为Job输出返回
dbutils.notebook.exit(json.dumps({"key1": key1_value}))
  • 如果Job1包含多个任务,新增一个收尾任务(如TaskFinal,依赖TaskA),在该任务中执行上述代码,确保能获取到TaskA的key1值并输出。

步骤2:在Job2中配置参数传递

在Job2的配置里,将NotebookB的输入参数与Job1的输出关联:

  1. 找到Job2中对应Job1的Run_Job类型任务(任务名为Job1)。
  2. 配置NotebookB的输入参数时,将key1参数的值设置为:
{{fromJson(tasks.Job1.runOutput).key1}}

这个表达式会解析Job1返回的JSON输出,提取出key1的值并传递给NotebookB。

注意事项

  • 确保Job1返回的输出是合法的JSON字符串,否则fromJson函数会解析失败。
  • 验证Job1的输出是否正确:手动运行Job1后,在Job运行详情的"输出"标签页查看返回内容。
  • 保证Job2中NotebookB的依赖关系正确,必须在Job1执行完成后再启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:05:59