Actualisez, gérez le cycle de vie ou supprimez des partitions d'une vue matérialisée.
Présentation de la commande
Cette instruction prend en charge les opérations suivantes :
Actualiser une vue matérialisée
Les opérations d'insertion, d'écrasement, de mise à jour ou de suppression sur la table sous-jacente ou sur une partition invalident une vue matérialisée et empêchent la réécriture des requêtes. Vérifiez l'état de la vue matérialisée et actualisez-la si elle est invalide. Pour plus d'informations, consultez la rubrique Interroger l'état d'une vue matérialisée.
-
Remarques d'utilisation
Les vues matérialisées ne prennent en charge que l'actualisation complète, et non l'actualisation incrémentielle.
Utilisez la fonctionnalité de planification de DataWorks pour actualiser les vues matérialisées selon un calendrier défini. Pour plus d'informations, consultez la section Configurations de planification.
-
Syntaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> REBUILD [PARTITION (<ds>=max_pt(<table_name>),<expression1>...)]; -
Paramètres
Paramètre
Obligatoire
Description
project_name
Non
Nom du projet MaxCompute contenant la vue matérialisée. Si vous omettez ce paramètre, le projet MaxCompute actuel est utilisé. Pour trouver le nom du projet, connectez-vous à la console MaxCompute, sélectionnez la région appropriée dans le coin supérieur gauche, puis accédez à la page Projects.
mv_name
Oui
Nom de la vue matérialisée à actualiser.
ds
Non
Nom de la colonne de partition de la vue matérialisée.
max_pt
Non
Fonction qui renvoie la valeur de partition maximale de la table spécifiée par table_name. Le paramètre table_name peut faire référence à une table ou à une vue matérialisée.
expression
Non
Expression permettant de filtrer les partitions à actualiser dans une vue matérialisée partitionnée.
-
Exemples
-
Exemple 1 : actualiser une vue matérialisée non partitionnée. Exemple de commande :
-- Create a non-partitioned table. CREATE TABLE count_test(a BIGINT, b BIGINT); -- Create a non-partitioned materialized view. CREATE MATERIALIZED VIEW count_mv LIFECYCLE 7 AS SELECT COUNT(*) FROM count_test; -- Refresh the non-partitioned materialized view. ALTER MATERIALIZED VIEW count_mv rebuild; -
Exemple 2 : actualiser une partition spécifique d'une vue matérialisée partitionnée. Exemple de commande :
ALTER MATERIALIZED VIEW mv REBUILD PARTITION (ds='20210101'); -
Exemple 3 : actualiser les partitions correspondant à une condition spécifiée. Exemple de commande :
ALTER MATERIALIZED VIEW mv REBUILD PARTITION(ds>='20210101', ds<='20210105');
-
Modifier le cycle de vie d'une vue matérialisée
Spécifiez une nouvelle durée de cycle de vie en jours pour une vue matérialisée.
-
Syntaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> SET LIFECYCLE <days>; -
Paramètres
Paramètre
Obligatoire
Description
project_name
Non
Nom du projet MaxCompute contenant la vue matérialisée. Si vous omettez ce paramètre, le projet MaxCompute actuel est utilisé. Pour trouver le nom du projet, connectez-vous à la console MaxCompute, sélectionnez la région appropriée dans le coin supérieur gauche, puis accédez à la page Projects.
mv_name
Oui
Nom de la vue matérialisée à mettre à jour.
days
Oui
Nouveau cycle de vie de la vue matérialisée, exprimé en jours.
-
Exemple
-- Set the lifecycle of the materialized view to 10 days. ALTER MATERIALIZED VIEW mv SET LIFECYCLE 10;
Activer ou désactiver le cycle de vie
Contrôlez l'expiration automatique d'une vue matérialisée ou d'une partition spécifique.
-
Syntaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> [<pt_spec>] enable|disable LIFECYCLE; -
Paramètres
Paramètre
Obligatoire
Description
project_name
Non
Nom du projet MaxCompute contenant la vue matérialisée. Si vous omettez ce paramètre, le projet MaxCompute actuel est utilisé. Pour trouver le nom du projet, connectez-vous à la console MaxCompute, sélectionnez la région appropriée dans le coin supérieur gauche, puis accédez à la page Projects.
mv_name
Oui
Nom de la vue matérialisée pour laquelle activer ou désactiver le cycle de vie.
pt_spec
Non
Partition pour laquelle activer ou désactiver le cycle de vie. Si vous omettez ce paramètre, l'opération s'applique à l'ensemble de la vue matérialisée. Le format est
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). partition_col représente une colonne de partition et partition_col_value sa valeur.enable|disable
Oui
enableactive la règle de cycle de vie.disabledésactive la règle de cycle de vie, empêchant l'expiration automatique de la partition ou de la vue matérialisée spécifiée. -
Exemples
-
Exemple 1 : activer la gestion du cycle de vie pour une vue matérialisée. Exemple de commande :
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') enable LIFECYCLE; -
Exemple 2 : désactiver la gestion du cycle de vie pour une vue matérialisée. Exemple de commande :
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') disable LIFECYCLE;
-
Supprimer des partitions de vue matérialisée
Supprimez des partitions spécifiques d'une vue matérialisée partitionnée.
-
Syntaxe
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> DROP [IF EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec>, PARTITION <pt_spec>....]; -
Paramètres
Paramètre
Obligatoire
Description
project_name
Non
Nom du projet MaxCompute contenant la vue matérialisée. Si vous omettez ce paramètre, le projet MaxCompute actuel est utilisé. Pour trouver le nom du projet, connectez-vous à la console MaxCompute, sélectionnez la région appropriée dans le coin supérieur gauche, puis accédez à la page Projects.
mv_name
Oui
Nom de la vue matérialisée partitionnée dont vous souhaitez supprimer des partitions.
IF EXISTS
Non
Si vous spécifiez IF EXISTS, la commande ne renvoie pas d'erreur si la partition spécifiée n'existe pas.
pt_spec
Oui
Partitions à supprimer. Vous devez spécifier au moins une partition. Le format est
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). partition_col représente une colonne de partition et partition_col_value sa valeur. -
Exemples
-
Exemple 1 : supprimer une partition spécifique d'une vue matérialisée partitionnée. Exemple de commande :
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds='20210101'); -
Exemple 2 : supprimer des partitions correspondant à une condition spécifiée. Exemple de commande :
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds>='20210101' AND ds<='20210105');
-
Commandes associées
CREATE MATERIALIZED VIEW : crée une vue matérialisée à partir d'une requête. Cette commande permet de définir des propriétés de partitionnement et de regroupement.
DESC TABLE/VIEW : affiche les métadonnées d'une vue matérialisée.
SELECT MATERIALIZED VIEW : interroge l'état d'une vue matérialisée.
DROP MATERIALIZED VIEW : supprime une vue matérialisée.