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

REFRESH EXTERNAL TABLE

説明

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

  • 外部テーブル: Apache Hive™ または Apache Hudi のデータをクエリするために Hive 外部テーブルまたは Hudi 外部テーブルを使用する場合、このステートメントを実行して StarRocks にキャッシュされた Hive テーブルまたは Hudi テーブルのメタデータを更新できます。
  • 外部カタログ: 対応するデータソースのデータをクエリするために external catalog を使用する場合、このステートメントを実行して 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: 外部テーブル hive1 を指定して、StarRocks にキャッシュされた対応する Hive テーブルのメタデータを更新します。

REFRESH EXTERNAL TABLE hive1;

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

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