Databricks表配额已超出

编程语言 2026-07-11

我使用ADF来编排数据提取并加载到托管的Databricks表。

它会把数据提取到文件存储,这部分工作正常。

真正的问题在于下一步——通过将外部表指向存储文件来注册外部表时,发生了失败。

今天早上开始出现配额超出的问题。

因此,在提取之后,它只是创建一个表,使用如下内容:

drop table if exists ${catalogName}.landing.$TableName;

USING PARQUET
OPTIONS (
  path 'abfss://unity-catalog@$DatalakeName.dfs.core.windows.net/landing/$TableName/$TableName.parquet'
);

最后一步(还没走到那一步)是把这个复制到一个托管表中

它返回的错误是:

UnityCatalogServiceException: ErrorClass=QUOTA_EXCEEDED.UC_RESOURCE_QUOTA_EXCEEDED] Cannot create 1 Table(s) in Metastore (estimated count: 1000728, limit: 1000000)

不过这没有道理,因为我们大概只有大约2000张表。

那么,有几个问题

  1. 会导致这种情况的原因是什么?
  2. 我是否误解了Databricks表计数的定义,它不是1:1?
  3. 临时表和已删除(历史)表也会被计入吗——也许这里有大量历史需要清理?

谢谢

解决方案

UC有很多不同的配额(请参阅 quotas)你必须超过其中一个配额,而不仅仅是表数量。
你是在正确地对表进行分区,还是只是使用默认设置?

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章