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

在Data Factory调用Databricks Notebook路径错误求助及配置方法

解决Data Factory执行Databricks Notebook时的路径错误问题

首先看你遇到的错误提示:

"message": "Invalid notebook_path: {"effectiveIntegrationRuntime":"DefaultIntegrationRuntime (West Europe)","executionDuration":0,"durationInQueue":{"integrationRuntimeQueue":1},"billingReference":{"activityType":"ExternalActivity","billableDuration":{"Managed":0.016666666666666666}}}. Only absolute paths are currently supported. Paths must begin with '/'"

这个错误的核心是两点:一是你从存储过程获取的Notebook路径不是Databricks要求的绝对路径格式(必须以/开头),二是存储过程的输出明显混入了ADF运行时的元数据(就是那些effectiveIntegrationRuntime相关的字段),导致传入的根本不是有效的路径字符串。

一步步修复问题

1. 修正存储过程的输出逻辑

首先要确保你的存储过程只返回纯绝对路径字符串,不能包含任何额外的JSON结构或元数据:

  • 如果是SQL存储过程,直接返回单一的路径值即可,比如:
    SELECT '/Workspace/YourFolder/TargetNotebook' AS notebook_path;
    
  • 如果是其他类型的存储过程,检查返回逻辑,确保只输出路径本身,别把整个执行上下文对象都返回出去。

2. 在ADF中正确引用路径

当你在ADF的Databricks Notebook活动中使用存储过程的输出时,要精准提取到路径值:

  • 如果你是通过Lookup活动调用的存储过程,在Notebook活动的Notebook path字段中,使用表达式引用Lookup结果里的路径字段,示例:
    @activity('Lookup_GetNotebookPath').output.firstRow.notebook_path
    
  • 可以利用ADF的测试表达式功能验证一下,确保这个表达式返回的是/Workspace/xxx格式的纯路径,没有多余的元数据内容。

Data Factory中指定Databricks Notebook路径的正确方式

给你总结几种可靠的路径指定方法:

  • 直接输入绝对路径:比如/Workspace/Team/ETL/LoadDataNotebook,必须以/开头,和Databricks Workspace中的实际路径完全匹配
  • 通过ADF变量/参数引用:将路径存储在ADF变量或参数中,然后用表达式引用,比如@variables('NotebookPathVar'),变量值必须是符合要求的绝对路径
  • 动态提取路径:从Lookup、存储过程或其他活动获取路径时,一定要确保提取的是纯路径字符串,避免传入包含运行时元数据的整个JSON对象

另外要注意:Databricks的路径是区分大小写的,路径的文件夹层级和Notebook名称要和Workspace中的实际情况完全一致,否则也会报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:57:57