You need to enable JavaScript to run this app.
导航
更新元数据缓存
最近更新时间:2024.02.18 19:04:28首次发布时间:2024.01.15 15:02:31

默认情况下,StarRocks 会缓存 Hive 、Hudi的元数据、并以异步模式自动更新缓存的元数据,从而提高查询性能。此外,表结构变更或更新后,您也可以使用 REFRESH EXTERNAL TABLE 手动更新元数据,从而确保 StarRocks 第一时间生成合理的查询计划。
本文介绍如何手动更新缓存的元数据。

1 语法

REFRESH EXTERNAL TABLE [external_catalog.][db_name.]<table_name>
[PARTITION ('partition_name', ...)]
参数必选说明
external_catalogHive catalog 或 Hudi catalog 名称。
db_nameHive 表或 Hudi 表所在的数据库名。
table_nameHive 表或 Hudi 表名。
partition_nameHive 表或 Hudi 表中的分区名。如指定,则更新缓存的 Hive 表或 Hudi 表指定分区的元数据。

说明

只有拥有 ALTER_PRIV 权限的用户才可以执行该语句更新缓存的元数据。

2 示例

示例一:更新缓存的 Hive 表 hive_table 的元数据。

REFRESH EXTERNAL TABLE hive_catalog.hive_db.hive_table;

USE hive_catalog.hive_db;
REFRESH EXTERNAL TABLE hive_table;

示例二:更新缓存的 Hudi 表 hudi_table 中分区 p1p2 的元数据。

REFRESH EXTERNAL TABLE hudi_catalog.hudi_db.hudi_table
PARTITION ('p1', 'p2');