REFRESH EXTERNAL TABLE
REFRESH EXTERNAL TABLE обновляет метаданные, кэшированные в Selena. Метаданные берутся из таблиц в data lakes. Эта команда используется в следующих сценариях:
- External table: При использовании Hive external table или Hudi external table для запроса данных в Apache Hive™ или Apache Hudi вы можете выполнить эту команду, чтобы обновить метаданные Hive таблицы или Hudi таблицы, кэшированные в Selena.
- External catalog: При использовании external catalog (кроме JDBC Catalog) для запроса данных в соответствующем источнике данных вы можете выполнить эту команду, чтобы обновить метаданные, кэшированные в Selena.
NOTE
Только пользователи с привилегией ALTER на соответствующую external table могут выполнять эту операцию.
Базовые концепции
- Hive external table: создается и хранится в Selena. Вы можете использовать её для запроса данных Hive.
- Hudi external table: создается и хранится в Selena. Вы можете использовать её для запроса данных Hudi.
- Hive table: создается и хранится в Hive.
- Hudi table: создается и хранится в Hudi.
Синтаксис и параметры
Ниже описаны синтаксис и параметры для различных случаев:
-
External table
REFRESH EXTERNAL TABLE table_name
[PARTITION ('partition_name', ...)]Параметр Обязательный Описание table_name Да Имя Hive external table или Hudi external table. partition_name Нет Имена partition Hive таблицы или Hudi таблицы. Указание этого параметра обновляет метаданные partition Hive таблицы и Hudi таблицы, кэшированные в Selena. -
External catalog
REFRESH EXTERNAL TABLE [external_catalog.][db_name.]table_name
[PARTITION ('partition_name', ...)]Параметр Обязательный Описание external_catalog Нет Имя external catalog, поддерживает Hive, Hudi, Delta Lake и MaxCompute (начиная с v1.5.2) catalogs. db_name Нет Имя базы данных, где находится целевая таблица. table_name Да Имя таблицы. partition_name Нет Имена partition. Указание этого параметра обновляет метаданные partition целевой таблицы, кэшированные в Selena.
Примечания по использованию
Только пользователи с привилегией ALTER_PRIV могут выполнять эту команду для обновления метаданных Hive таблиц и Hudi таблиц, кэшированных в Selena.
Примеры
Примеры использования в различных случаях:
External table
Пример 1: Обновить кэшированные метаданные соответствующей Hive таблицы в Selena, указав external table hive1.
REFRESH EXTERNAL TABLE hive1;
Пример 2: Обновить к эшированные метаданные partition соответствующей Hudi таблицы в Selena, указав external table hudi1 и partition в этой таблице.
REFRESH EXTERNAL TABLE hudi1
PARTITION ('date=2022-12-20', 'date=2022-12-21');
External catalog
Пример 1: Обновить метаданные hive_table, кэшированные в Selena.
REFRESH EXTERNAL TABLE hive_catalog.hive_db.hive_table;
Или
USE hive_catalog.hive_db;
REFRESH EXTERNAL TABLE hive_table;
Пример 2: Обновить метаданные второго уровня partition p2 в hive_table, кэшированные в Selena.
USE hive_catalog.hive_db;
REFRESH EXTERNAL TABLE hive_table PARTITION ('p1=${date}/p2=${hour}');
Пример 3: Обновить метаданные partition hudi_table, кэшированные в Selena.
REFRESH EXTERNAL TABLE hudi_catalog.hudi_db.hudi_table
PARTITION ('date=2022-12-20', 'date=2022-12-21');