数据块:全局非托管表,分区元数据同步保证

问题描述

客观

我想从ADLS数据创建Databricks global unmanaged tables,并在多个群集(自动和交互式)中使用它们。所以我先做CREATE TABLE my_table ...,然后做MSCK REPAIR TABLE my_table。我正在使用Databricks内部的Hive Metastore。

问题

有时MSCK REPAIR并未跨集群同步(完全是数小时)。意味着集群#1立即看到了分区,而集群#2一段时间没有看到任何数据。

有时它已经同步了,但我仍然不明白为什么在其他情况下它不起作用。

问题

Databricks是否为每个群集使用单独的内部配置单元元存储?如果是,是否可以保证群集之间的同步?

解决方法

我相信每个数据块部署都具有一个配置单元元存储:https://docs.databricks.com/data/metastores/index.html

因此,如果正在立即更新元存储库,那么下一个最可能出现的问题是正在缓存旧表元数据,因此您看不到更新。您是否尝试过跑步

REFRESH <database>.<table>;

出现同步问题的群集上?

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...