适用于: Databricks SQL
Databricks Runtime 13.3 LTS 及更高版本
仅 Unity Catalog
刷新 Unity Catalog 中维护的元数据,目标可以是:
- 外部目录及其安全对象,
- 外部架构及其安全对象,或
- 外表。
若要运行 REFRESH FOREIGN CATALOG
,至少需要以下项之一:
- 元存储管理员
- 对目录具有
USE CATALOG
特权、对所有子架构具有USE SCHEMA
特权,并对所有子表具有SELECT
特权
若要运行 REFRESH FOREIGN SCHEMA
,至少需要以下项之一:
- 是元存储管理员
- 是父目录的所有者
- 对架构具有
MANAGE
和USE SCHEMA
特权,对父目录具有USE CATALOG
特权 - 对父目录具有
USE CATALOG
特权,对架构具有USE SCHEMA
特权,对所有子表具有SELECT
特权
若要执行 REFRESH FOREIGN TABLE
,至少需要以下项之一:
- 是元存储管理员
- 是父目录的所有者
- 是父架构的所有者,并对父目录具有
USE CATALOG
特权 - 对父架构具有
MANAGE
和USE SCHEMA
特权,对父目录具有USE CATALOG
特权 - 分别对父目录和架构具有
USE CATALOG
和USE SCHEMA
特权,对表具有SELECT
特权
若要执行可选 RESOLVE DBFS LOCATION
子句来更新 Hive 元存储联合表的已解析 DBFS 位置,至少需要满足以下条件之一:
- 是表所有者。
- 对表具有
MANAGE
特权,并且对架构具有USE SCHEMA
特权,对父目录具有USE CATALOG
特权
REFRESH FOREIGN
{ CATALOG foreign_catalog_name |
SCHEMA foreign_schema_name [ RESOLVE DBFS LOCATION ] |
TABLE foreign_table_name [ RESOLVE DBFS LOCATION ] }
-
标识要刷新的外部目录。
-
标识要刷新的外部架构。
-
标识要刷新的外表。 名称不得包含时态规范或选项规范。
解析 DBFS 位置
如果外部表或架构已联合 Hive 元存储、存储在 DBFS 上,并且自上次访问该表以来已重新映射支持该表的 DBFS 装载点,则使用此选项更新解析的 DBFS 位置。
你必须是
OWNER
,或对表或架构具有MANAGE
特权。 有关 Hive 元存储联合的详细信息,请参阅 Hive 元存储联合:启用 Unity 目录来管理 Hive 元存储中注册的表。使用此选项执行
REFRESH FOREIGN SCHEMA
时,Unity Catalog 会更新架构的解析 DBFS 位置,并将解析级联到架构中的所有表。
> REFRESH FOREIGN CATALOG some_catalog;
> REFRESH FOREIGN SCHEMA some_catalog.some_schema;
> REFRESH FOREIGN TABLE some_catalog.some_schema.some_table;
—- Resolves the DBFS location of the foreign table and updates it in Unity Catalog.
> REFRESH FOREIGN TABLE hms_fed_catalog.schema.table RESOLVE DBFS LOCATION;
-- Resolves the DBFS location of the foreign schema and all eligible foreign tables within the schema.
> REFRESH FOREIGN SCHEMA hms_fed_catalog.schema RESOLVE DBFS LOCATION;