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

无法在Azure Databricks Delta连接中列出Unity Catalog数据库与表求助

问题解决步骤

一、Azure Databricks里看不到Unity Catalog表的排查

  • 检查当前会话的元存储上下文
    先执行SHOW CURRENT CATALOG;和SHOW CURRENT SCHEMA;,确认当前是不是默认的hive_metastore。如果是,手动切换到你的Unity Catalog和对应schema:

    USE CATALOG <你的Unity Catalog名称>;
    USE SCHEMA <你的schema名称>;
    

    再跑SHOW TABLES;就能看到目标表了。

  • 验证表的存在与权限
    用完整限定名查询表,比如SELECT * FROM <catalog>.<schema>.<表名> LIMIT 1;,如果报错,去Unity Catalog控制台检查你是否拥有该表的SELECT权限,包括catalog、schema和表本身的权限配置。

  • 确认Databricks运行时版本
    必须使用Runtime 10.3 LTS及以上版本,旧版本不支持Unity Catalog的元数据读取,直接升级运行时即可。

二、Azure Data Factory里找不到Unity Catalog表的解决

  • 链接服务要指定正确的元存储类型
    创建Azure Databricks链接服务时,在属性中明确使用Unity Catalog:

    1. 进入链接服务编辑页,找到Catalog选项,选择你创建的Unity Catalog名称。
    2. 指定对应的Schema,这样复制数据活动的目标表选择列表里就能显示Unity Catalog下的表。
  • 手动输入完整限定名
    如果可视化界面找不到表,直接在复制数据活动的目标设置里手动填写表的完整限定名:<catalog>.<schema>.<表名>,ADF会识别到Unity Catalog中的表。

  • 检查ADF服务主体的权限
    确保ADF使用的服务主体(或托管标识)在Unity Catalog中拥有该表的WRITE权限,同时对目标schema有USAGE权限。去Unity Catalog给该主体分配对应角色即可,比如schema_user或自定义角色。

三、通用排查点

  • 检查表的存储位置权限
    Unity Catalog的Delta表要么存于托管存储,要么是指定的外部存储路径。确认Databricks和ADF的身份都能访问该存储路径(比如ADLS的Blob存储权限)。

  • 刷新元数据缓存
    在Databricks中执行REFRESH TABLE <catalog>.<schema>.<表名>;,强制刷新元数据缓存,避免因缓存导致表不显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:52:46