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

Databricks工作流SQL变量传递至If/Else任务及相关问题咨询

问题1:SQL任务变量传递至If/Else任务失败的解决方法

SQL任务中用DECLARE/SET定义的会话变量不会自动被Databricks工作流识别为任务输出值,需手动配置捕获任务值:

  • 第一步:修改SQL任务的查询语句,确保最后返回的结果列有明确别名(需和后续引用的键名一致):
DECLARE VARIABLE max_timestamp TIMESTAMP DEFAULT '1970-01-01';
SET VARIABLE max_timestamp = (SELECT max(timestamp) FROM TableA);
SELECT max_timestamp AS max_timestamp; -- 必须指定别名,用于后续捕获
  • 第二步:编辑SQL任务配置,找到**任务值(Task values)**选项,勾选「捕获任务值」,添加键max_timestamp,对应列名填写max_timestamp(和查询中的别名一致)。
  • 第三步:在If/Else任务的条件中,使用{{tasks.[你的SQL任务名称].values.max_timestamp}}引用,比如判断空值的条件可写为:{{tasks.sql_task.values.max_timestamp}} IS NULL。
问题2:SQL编辑器中基于查询的下拉变量多次引用是否重复执行

不会重复执行:

  • 打开查询或手动刷新变量时,下拉变量对应的查询仅执行一次,结果会被缓存,主查询中多次引用该变量时,复用的都是这次缓存的结果。
  • 若变量设置了「每次运行时刷新(Refresh on each run)」,则每次执行主查询时,变量的查询会重新执行一次,但同样仅执行一次,主查询内的多次引用共享这次执行的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 12:20:58