Databricks表配额已超出
我使用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张表。
那么,有几个问题
- 会导致这种情况的原因是什么?
- 我是否误解了Databricks表计数的定义,它不是1:1?
- 临时表和已删除(历史)表也会被计入吗——也许这里有大量历史需要清理?
谢谢
解决方案
UC有很多不同的配额(请参阅 quotas)你必须超过其中一个配额,而不仅仅是表数量。
你是在正确地对表进行分区,还是只是使用默认设置?
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。