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

在Databricks中无法找到Data Factory写入的Delta表

问题:ADF写入ADLS的Delta表在Databricks中无法查看

我是具备技术能力的数据分析师,对云环境及数据库管理较为陌生,正在Azure平台上练习操作。我创建了一个简单的ADF数据流,从API获取JSON载荷并写入ADLS Gen2上的Delta表,文件已成功写入(可看到parquet和日志文件),但在Azure Databricks中浏览目录时却看不到该表。请问我哪里操作出错了,导致无法在Databricks中查看创建的内嵌Delta表?

ADF数据流Sink配置
ADLS中的Delta文件结构

原因及解决办法
  • 核心原因:ADF数据流仅会将Delta格式的文件写入ADLS指定路径,但不会自动在Databricks的元数据系统(Hive元存储/Unity Catalog)中注册该表。Databricks的目录浏览功能(如Data Explorer)仅展示已注册的表,未注册的Delta文件目录无法直接被识别为“表”。

  • 解决步骤:

    1. 确认权限(可选):确保Databricks集群使用的服务主体或托管身份拥有ADLS目标目录的Storage Blob Data Contributor权限(你已能看到文件,权限大概率无问题)。
    2. 在Databricks中注册外部表:
      打开Databricks Notebook,运行以下代码注册表(替换占位符为你的实际信息):
      SQL方式:
      CREATE OR REPLACE EXTERNAL TABLE your_table_name
      USING DELTA
      LOCATION 'abfss://<容器名>@<存储账户名>.dfs.core.windows.net/<Delta文件目录路径>';
      
      PySpark方式:
      spark.sql("""
      CREATE OR REPLACE EXTERNAL TABLE your_table_name
      USING DELTA
      LOCATION 'abfss://<容器名>@<存储账户名>.dfs.core.windows.net/<Delta文件目录路径>'
      """)
      
    3. 刷新Databricks Data Explorer:注册完成后,回到Data Explorer,刷新对应的数据库(默认是default库),即可看到该Delta表。
  • 额外验证:若不想注册表,也可直接在Notebook中通过路径加载Delta数据验证:

    df = spark.read.format("delta").load("abfss://<容器名>@<存储账户名>.dfs.core.windows.net/<Delta文件目录路径>")
    df.show()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:42:11