に最終更新
REFRESH
説明
このステートメントは、指定したカタログ、データベース、またはテーブルのメタデータを更新します。
構文
REFRESH CATALOG <catalog_name>
[PROPERTIES ("invalid_cache" = "true" | "false")];
REFRESH DATABASE [<catalog_name>.]<database_name>;
REFRESH TABLE [[<catalog_name>.]<database_name>.]<table_name>;
必須パラメータ
1. <catalog_name>
更新するカタログの名前。
2. [<catalog_name>.]<database_name>
更新する、カタログ内のデータベースの名前。
3. [[<catalog_name>.]<database_name>.]<table_name>
更新する、カタログ内のテーブルの名前。
アクセス制御要件
| 権限 | オブジェクト | 備考 |
|---|---|---|
| ADMIN_PRIV / SELECT_PRIV / LOAD_PRIV / ALTER_PRIV / CREATE_PRIV / SHOW_VIEW_PRIV / DROP_PRIV | カタログ | 上記のいずれかの権限が必要です。 |
使用上の注意
カタログを更新すると、パーティションキャッシュ、スキーマキャッシュ、ファイルキャッシュなど、オブジェクトに関連するキャッシュが強制的に無効化されます。
invalid_cache は、REFRESH CATALOG の実行時に下位レベルのメタデータキャッシュを無効化するかどうかを制御します。
true: カタログオブジェクトのキャッシュに加え、パーティション、スキーマ、ファイルなどの下位レベルのキャッシュも無効化します。これがデフォルトの動作です。false: カタログレベルのオブジェクトと名前に関するメタデータのみを更新し、下位レベルのキャッシュは保持します。
invalid_cache は現在、REFRESH CATALOG に適用されます。
例
-
Hive カタログを更新する
REFRESH CATALOG hive; -
下位レベルのキャッシュを無効化せずに Hive カタログを更新する
REFRESH CATALOG hive PROPERTIES("invalid_cache" = "false"); -
database1 を更新する
REFRESH DATABASE ctl.database1;
REFRESH DATABASE database1; -
table1 を更新する
REFRESH TABLE ctl.db.table1;
REFRESH TABLE db.table1;
REFRESH TABLE table1;