すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ALTER MATERIALIZED VIEW

最終更新日:Jul 18, 2026

マテリアライズドビューをリフレッシュしたり、ライフサイクルを管理したり、パーティションを削除したりします。

コマンドの概要

マテリアライズドビューのリフレッシュ

基になるテーブルまたはパーティションに対して 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:マテリアライズドビューを削除します。