Azure Databricks默认资源部署冲突及默认文件系统切换问题
Azure Databricks自动部署资源冲突与ADF调用错误解决方案
现象梳理
- 近期Azure Databricks部署逻辑更新:通过Terraform或Azure门户创建工作区时,会自动生成一批Unity Catalog(UC)相关资源,但这些资源不会出现在Terraform Plan输出中:
- Access Connector
- UC专用存储数据湖
- 无路径的默认Metastore
- 与工作区同名的Catalog
- 自动为存储账户配置Access Connector的「存储Blob数据贡献者」权限
已遇问题与临时处理
- 自行部署UC及外部存储时,因同一区域仅允许存在一个Metastore触发冲突,删除自动生成的默认Metastore后冲突消除
- Azure Data Factory(ADF)调用Notebook时报错:
指定的文件系统不存在,请求目标为自动生成的存储账户dbstorageq——该账户未在Databricks中关联外部位置,说明默认文件系统仍指向自动部署的资源
具体解决步骤
切换默认文件系统到自定义存储
- 在Databricks中创建指向自定义存储账户的外部位置,确保Access Connector拥有该存储的「存储Blob数据贡献者」权限
- 创建自定义Catalog和Schema,将外部位置关联至Schema
- 执行SQL命令修改默认路径:
-- 设置自定义Catalog为默认 SET spark.sql.defaultCatalog = <你的自定义catalog名>; -- 关联Schema到自定义存储路径 ALTER SCHEMA <你的自定义schema名> SET LOCATION 'abfss://<容器名>@<存储账户名>.dfs.core.windows.net/'; -- 验证配置是否生效 DESCRIBE SCHEMA <你的自定义schema名>; - 重启所有运行中的集群,确保配置全局生效
清理冗余资源
删除默认Metastore后,可手动清理自动生成的存储账户、Access Connector等不再使用的资源,避免不必要的成本消耗
官方文档说明
目前Azure官方尚未公开该自动部署逻辑的正式文档,可通过以下方式跟进更新:
- 查看Azure门户内Databricks服务的「更新日志」板块
- 联系Azure技术支持获取相关更新细节
内容的提问来源于stack exchange,提问作者play_something_good
相关产品推荐
相关产品推荐

