Перейти к основному содержимому
Версия: 2.0.x

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');