メインコンテンツまでスキップ
バージョン: Latest-3.4

REFRESH EXTERNAL TABLE

説明

StarRocks にキャッシュされたメタデータを更新します。このメタデータはデータレイクのテーブルからのものです。このステートメントは以下のシナリオで使用されます:

  • 外部テーブル: Apache Hive™ または Apache Hudi のデータをクエリするために Hive 外部テーブルまたは Hudi 外部テーブルを使用する場合、StarRocks にキャッシュされた Hive テーブルまたは Hudi テーブルのメタデータを更新するためにこのステートメントを実行できます。
  • 外部カタログ: 対応するデータソースのクエリに外部カタログを使用する場合、StarRocks にキャッシュされたメタデータを更新するためにこのステートメントを実行できます。

基本概念

  • Hive 外部テーブル: StarRocks に作成および保存されます。Hive データをクエリするために使用できます。
  • Hudi 外部テーブル: StarRocks に作成および保存されます。Hudi データをクエリするために使用できます。
  • Hive テーブル: Hive に作成および保存されます。
  • Hudi テーブル: Hudi に作成および保存されます。

構文とパラメータ

異なるケースに基づく構文とパラメータは以下の通りです:

  • 外部テーブル

    REFRESH EXTERNAL TABLE table_name 
    [PARTITION ('partition_name', ...)]
    パラメータ必須説明
    table_nameはいHive 外部テーブルまたは Hudi 外部テーブルの名前。
    partition_nameいいえHive テーブルまたは Hudi テーブルのパーティションの名前。このパラメータを指定すると、StarRocks にキャッシュされた Hive テーブルおよび Hudi テーブルのパーティションのメタデータが更新されます。
  • 外部カタログ

    REFRESH EXTERNAL TABLE [external_catalog.][db_name.]table_name
    [PARTITION ('partition_name', ...)]
    パラメータ必須説明
    external_catalogいいえ外部カタログの名前。Hive、Hudi、Delta Lake、MaxCompute (v3.3 以降) のカタログをサポートします。
    db_nameいいえ対象テーブルが存在するデータベースの名前。
    table_nameはいテーブルの名前。
    partition_nameいいえパーティションの名前。このパラメータを指定すると、StarRocks にキャッシュされた対象テーブルのパーティションのメタデータが更新されます。

使用上の注意

ALTER_PRIV 権限を持つユーザーのみが、このステートメントを実行して StarRocks にキャッシュされた Hive テーブルおよび Hudi テーブルのメタデータを更新できます。

異なるケースでの使用例は以下の通りです:

外部テーブル

例 1: StarRocks にキャッシュされた対応する Hive テーブルのメタデータを、外部テーブル hive1 を指定して更新します。

REFRESH EXTERNAL TABLE hive1;

例 2: StarRocks にキャッシュされた対応する Hudi テーブルのパーティションのメタデータを、外部テーブル hudi1 とそのテーブル内のパーティションを指定して更新します。

REFRESH EXTERNAL TABLE hudi1
PARTITION ('date=2022-12-20', 'date=2022-12-21');

外部カタログ

例 1: StarRocks にキャッシュされた hive_table のメタデータを更新します。

REFRESH EXTERNAL TABLE hive_catalog.hive_db.hive_table;

または

USE hive_catalog.hive_db;
REFRESH EXTERNAL TABLE hive_table;

例 2: StarRocks にキャッシュされた hive_table の二次パーティション p2 のメタデータを更新します。

USE hive_catalog.hive_db;
REFRESH EXTERNAL TABLE hive_table PARTITION ('p1=${date}/p2=${hour}');

例 3: StarRocks にキャッシュされた hudi_table のパーティションのメタデータを更新します。

REFRESH EXTERNAL TABLE hudi_catalog.hudi_db.hudi_table
PARTITION ('date=2022-12-20', 'date=2022-12-21');