マテリアライズドビューをリフレッシュしたり、ライフサイクルを管理したり、パーティションを削除したりします。
コマンドの概要
この文は、以下の操作をサポートしています。
マテリアライズドビューのリフレッシュ
基になるテーブルまたはパーティションに対して INSERT、上書き、UPDATE、DELETE 操作が実行されると、マテリアライズドビューは無効になり、クエリリライトが行われなくなります。マテリアライズドビューのステータスを確認し、無効な場合はリフレッシュしてください。詳細については、「マテリアライズドビューのステータス照会」をご参照ください。
-
注意事項
-
マテリアライズドビューは増分更新ではなく、完全更新のみをサポートしています。
-
DataWorks のスケジューリング機能を使用して、マテリアライズドビューを定期的にリフレッシュできます。詳細については、「スケジューリング構成」をご参照ください。
-
-
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> REBUILD [PARTITION (<ds>=max_pt(<table_name>),<expression1>...)]; -
パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが含まれる MaxCompute プロジェクトの名前です。このパラメーターを省略すると、現在の MaxCompute プロジェクトが使用されます。プロジェクト名を確認するには、MaxCompute コンソールにログインし、左上隅で適切なリージョンを選択してから、プロジェクト管理 ページに移動します。
mv_name
はい
リフレッシュするマテリアライズドビューの名前です。
ds
いいえ
マテリアライズドビューのパーティション列の名前です。
max_pt
いいえ
指定された table_name の最大パーティション値を返す関数です。table_name はテーブルまたはマテリアライズドビューを参照できます。
expression
いいえ
パーティション化されたマテリアライズドビューにおいて、リフレッシュ対象のパーティションをフィルターする式です。
-
例
-
例 1:非パーティション化マテリアライズドビューをリフレッシュします。例となるコマンド:
-- 非パーティション化テーブルを作成します。 CREATE TABLE count_test(a BIGINT, b BIGINT); -- 非パーティション化マテリアライズドビューを作成します。 CREATE MATERIALIZED VIEW count_mv LIFECYCLE 7 AS SELECT COUNT(*) FROM count_test; -- 非パーティション化マテリアライズドビューをリフレッシュします。 ALTER MATERIALIZED VIEW count_mv rebuild; -
例 2:パーティション化マテリアライズドビューの特定のパーティションをリフレッシュします。例となるコマンド:
ALTER MATERIALIZED VIEW mv REBUILD PARTITION (ds='20210101'); -
例 3:指定された条件に一致するパーティションをリフレッシュします。例となるコマンド:
ALTER MATERIALIZED VIEW mv REBUILD PARTITION(ds>='20210101', ds<='20210105');
-
マテリアライズドビューのライフサイクル変更
マテリアライズドビューの新しいライフサイクル期間(日数)を指定します。
-
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> SET LIFECYCLE <days>; -
パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが含まれる MaxCompute プロジェクトの名前です。このパラメーターを省略すると、現在の MaxCompute プロジェクトが使用されます。プロジェクト名を確認するには、MaxCompute コンソールにログインし、左上隅で適切なリージョンを選択してから、プロジェクト管理 ページに移動します。
mv_name
はい
更新するマテリアライズドビューの名前です。
days
はい
マテリアライズドビューの新しいライフサイクル(日数単位)です。
-
例
-- マテリアライズドビューのライフサイクルを 10 日に設定します。 ALTER MATERIALIZED VIEW mv SET LIFECYCLE 10;
ライフサイクルの有効化または無効化
マテリアライズドビューまたは特定のパーティションが自動的に有効期限切れになるかどうかを制御します。
-
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> [<pt_spec>] enable|disable LIFECYCLE; -
パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが含まれる MaxCompute プロジェクトの名前です。このパラメーターを省略すると、現在の MaxCompute プロジェクトが使用されます。プロジェクト名を確認するには、MaxCompute コンソールにログインし、左上隅で適切なリージョンを選択してから、プロジェクト管理 ページに移動します。
mv_name
はい
ライフサイクルを有効化または無効化するマテリアライズドビューの名前です。
pt_spec
いいえ
ライフサイクルを有効化または無効化するパーティションです。このパラメーターを省略すると、操作はマテリアライズドビュー全体に適用されます。形式は
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...)です。partition_col はパーティション列、partition_col_value はその値です。enable|disable
はい
enableはライフサイクルルールを有効にします。disableはライフサイクルルールを無効にし、指定されたパーティションまたはマテリアライズドビューが自動的に有効期限切れにならないようにします。 -
例
-
例 1:マテリアライズドビューのライフサイクル管理を有効にします。例となるコマンド:
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') enable LIFECYCLE; -
例 2:マテリアライズドビューのライフサイクル管理を無効にします。例となるコマンド:
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') disable LIFECYCLE;
-
マテリアライズドビューのパーティション削除
パーティション化されたマテリアライズドビューから特定のパーティションを削除します。
-
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> DROP [IF EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec>, PARTITION <pt_spec>....]; -
パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが含まれる MaxCompute プロジェクトの名前です。このパラメーターを省略すると、現在の MaxCompute プロジェクトが使用されます。プロジェクト名を確認するには、MaxCompute コンソールにログインし、左上隅で適切なリージョンを選択してから、プロジェクト管理 ページに移動します。
mv_name
はい
パーティションを削除するパーティション化マテリアライズドビューの名前です。
IF EXISTS
いいえ
IF EXISTS を指定すると、指定されたパーティションが存在しない場合でもエラーが報告されません。
pt_spec
はい
削除するパーティションです。少なくとも 1 つのパーティションを指定する必要があります。形式は
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...)です。partition_col はパーティション列、partition_col_value はその値です。 -
例
-
例 1:パーティション化マテリアライズドビューの特定のパーティションを削除します。例となるコマンド:
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds='20210101'); -
例 2:指定された条件に一致するパーティションを削除します。例となるコマンド:
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds>='20210101' AND ds<='20210105');
-
関連コマンド
-
CREATE MATERIALIZED VIEW:クエリからマテリアライズドビューを作成します。このコマンドでは、パーティションおよびクラスタリングプロパティを定義できます。
-
DESC TABLE/VIEW:マテリアライズドビューに関するメタデータを表示します。
-
SELECT MATERIALIZED VIEW:マテリアライズドビューのステータスを照会します。
-
DROP MATERIALIZED VIEW:マテリアライズドビューを削除します。