マテリアライズドビューを更新します。
コマンドの概要
マテリアライズドビューを更新するには、次の操作を実行できます。
マテリアライズドビューを更新する
マテリアライズドビューに対応するテーブルまたはパーティションに対して、挿入、上書き、更新、削除などの操作を実行すると、マテリアライズドビューは無効になり、クエリ書き換え操作に使用できなくなります。 マテリアライズドビューのステータスを確認できます。 マテリアライズドビューが無効な場合は、マテリアライズドビューを更新する必要があります。 マテリアライズドビューのステータスのクエリ方法の詳細については、「マテリアライズドビューのステータスをクエリする」をご参照ください。
使用上の注意
マテリアライズドに対して実行できるのはフルアップデートのみです。 マテリアライズドビューで増分更新を実行することはできません。
DataWorks コンソールでスケジュールされた更新をトリガーできます。 DataWorks コンソールでスケジュール操作をトリガーする方法の詳細については、「スケジューリング構成」をご参照ください。
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> REBUILD [PARTITION (<ds>=max_pt(<table_name>),<expression1>...)];パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが属する MaxCompute プロジェクトの名前。 このパラメーターを構成しない場合は、現在の MaxCompute プロジェクトが使用されます。 MaxCompute プロジェクトの名前を表示するには、次の手順を実行します。[MaxCompute コンソール] にログオンします。 上部のナビゲーションバーで、リージョンを選択します。 [プロジェクト] ページで MaxCompute プロジェクトの名前を表示します。
mv_name
はい
更新するマテリアライズドビューの名前。
ds
いいえ
マテリアライズドビューのパーティションフィールドの名前。
max_pt
いいえ
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');
既存のマテリアライズドビューのライフサイクルを変更する
MaxCompute では、既存のマテリアライズドビューのライフサイクルを変更できます。
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> SET LIFECYCLE <days>;パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが属する MaxCompute プロジェクトの名前。 このパラメーターを構成しない場合は、現在の MaxCompute プロジェクトが使用されます。 MaxCompute プロジェクトの名前を表示するには、次の手順を実行します。[MaxCompute コンソール] にログオンします。 上部のナビゲーションバーで、リージョンを選択します。 [プロジェクト] ページで MaxCompute プロジェクトの名前を表示します。
mv_name
はい
更新するマテリアライズドビューの名前。
days
はい
マテリアライズドビューの新しいライフサイクル。 単位: 日。
例
-- 既存のマテリアライズドビューのライフサイクルを 10 日に変更します。 ALTER MATERIALIZED VIEW mv SET LIFECYCLE 10;
既存のマテリアライズドビューのライフサイクル機能を有効または無効にする
MaxCompute では、既存のマテリアライズドビューのライフサイクル機能を有効または無効にすることができます。
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> [<pt_spec>] enable|disable LIFECYCLE;パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが属する MaxCompute プロジェクトの名前。 このパラメーターを構成しない場合は、現在の MaxCompute プロジェクトが使用されます。 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;
既存のマテリアライズドビューからパーティションを削除する
MaxCompute では、既存のマテリアライズドビューから 1 つ以上のパーティションを削除できます。
構文
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> DROP [IF EXIXTS] PARTITION <pt_spec> [PARTITION <pt_spec>, PARTITION <pt_spec>....];パラメーター
パラメーター
必須
説明
project_name
いいえ
マテリアライズドビューが属する MaxCompute プロジェクトの名前。 このパラメーターを構成しない場合は、現在の MaxCompute プロジェクトが使用されます。 MaxCompute プロジェクトの名前を表示するには、次の手順を実行します。[MaxCompute コンソール] にログオンします。 上部のナビゲーションバーで、リージョンを選択します。 [プロジェクト] ページで MaxCompute プロジェクトの名前を表示します。
mv_name
はい
1 つ以上のパーティションを削除するパーティション化されたマテリアライズドビューの名前。
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: MaxCompute プロジェクト内のマテリアライズドビューに関する情報を表示します。
SELECT MATERIALIZED VIEW: マテリアライズドビューのステータスをクエリします。
DROP MATERIALIZED VIEW: 既存のマテリアライズドビューを削除します。