ADF Databricks作业集群链接服务UC卷初始化脚本文件不存在排查
ADF Databricks链接服务使用UC卷初始化脚本报错的问题分析
以下是导致该错误的核心问题及对应解决方法:
权限身份不匹配
共享集群通常以当前登录用户的身份运行,而ADF的Databricks链接服务默认使用指定的Azure AD服务主体(或托管标识)执行操作。若该服务主体未被授予目标Unity Catalog卷的读取权限,就会触发文件不存在的错误。
解决方式:在Databricks SQL或笔记本中执行权限授予命令:GRANT READ VOLUME ON VOLUME myunitycatalog.framework_config.external_libraries TO `你的服务主体ID或名称`;初始化脚本阶段不支持UC本地挂载路径
临时作业集群启动时,初始化脚本(init script)的执行时机早于Unity Catalog卷的本地挂载流程。共享集群长期运行,卷已挂载到/Volumes/...本地路径,但临时作业集群在执行init script时,该本地路径尚未创建。
解决方式:改用卷对应的ADLS Gen2直接路径(abfss格式),示例配置如下:"newClusterInitScripts": [ "abfss://<存储容器名>@<存储账户名>.dfs.core.windows.net/Volumes/myunitycatalog/framework_config/external_libraries/init_script/sqlserver-odbc-install.sh" ]需确保链接服务使用的身份对该ADLS路径具备读取权限。
链接服务身份验证方式错误
若ADF链接服务使用Databricks令牌而非Azure AD身份验证,令牌对应的用户可能未被授权访问目标UC卷。
解决方式:将链接服务的身份验证方式切换为Azure AD服务主体或托管标识,并确认该身份已获取UC卷的读取权限。
内容的提问来源于stack exchange,提问作者Surat Suntong
相关产品推荐
相关产品推荐

