Partager via


.disable | .enable materialized-view

Désactive ou active le processus de matérialisation pour une vue matérialisée.

Remarque

Étant donné qu’il existe des implications importantes en matière de performances associées à la désactivation/à l’activation d’une vue matérialisée, vérifiez que vous êtes familiarisé avec eux avant de poursuivre l’utilisation de cette commande. Pour plus d’informations, consultez la section Performances de l’activation/de la désactivation des vues matérialisées.

autorisations

Vous devez disposer au moins d’un administrateur de vue matérialisé pour exécuter ces commandes.

Syntaxe

.enable | disablematerialized-view MaterializedViewName

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
MaterializedViewName string ✔️ Nom de la vue matérialisée.

Retours

Si la vue matérialisée est déjà dans l’état dans lequel la commande tente de la définir, la commande échoue avec une erreur indiquant que c’est le cas.

Sinon, elle retourne les détails de la vue matérialisée dont la propriété IsEnabled a été modifiée.

Schéma de sortie :

Nom Type Description
Nom string Nom de la vue matérialisée.
SourceTable string Nom de la table source sur laquelle la vue est définie.
Requête string Définition de requête de la vue matérialisée.
MaterializedTo datetime Horodatage ingestion_time() matérialisé maximal dans la table source. Pour plus d’informations, consultez le fonctionnement des vues matérialisées.
LastRun datetime Dernière exécution de la matérialisation.
LastRunResult string Résultat de la dernière exécution. Retourne Completed pour les exécutions réussies ; sinon Failed.
IsHealthy bool true lorsque l’affichage est considéré comme sain, false sinon. La vue est considérée comme saine si elle a été matérialisée jusqu’à la dernière heure (MaterializedTo est supérieure à ago(1h)).
IsEnabled bool true lorsque l’affichage est activé (voir Désactiver ou activer la vue matérialisée).
Dossier string Dossier sous lequel la vue matérialisée est créée.
DocString string Description affectée à la vue matérialisée.
AutoUpdateSchema bool Indique si la vue est activée pour les mises à jour automatiques.
EffectiveDateTime datetime Date d’effet de l’affichage, déterminée pendant l’heure de création (voir .create materialized-view).
Recherche arrière timespan Intervalle de temps limitant la période dans laquelle les doublons sont attendus.

Exemples

Activer une vue matérialisée

La commande suivante active la vue matérialisée ViewName :

.enable materialized-view ViewName

Sortie

Nom SourceTable Requête MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Dossier DocString AutoUpdateSchema EffectiveDateTime Recherche arrière
NomVue TableName TableName | résumer arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Effectué true true false 2023-02-23T14:01:42.5172342Z

Désactiver une vue matérialisée

La commande suivante désactive la vue matérialisée ViewName :

.disable materialized-view ViewName

Sortie

Nom SourceTable Requête MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Dossier DocString AutoUpdateSchema EffectiveDateTime Recherche arrière
NomVue TableName TableName | résumer arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Effectué true false false 2023-02-23T14:01:42.5172342Z

Notes

Désactivation des vues matérialisées

Une vue matérialisée peut être désactivée de l’une des manières suivantes :

  • Désactivation automatique par le système : la vue matérialisée est automatiquement désactivée si la matérialisation échoue avec une erreur permanente. Ce processus peut se produire dans les instances suivantes :
    • Modifications de schéma incompatibles avec la définition de vue.
    • Modifications apportées à la table source qui entraînent l’invalidation sémantique de la requête de vue matérialisée.
  • Désactivez explicitement la vue matérialisée : si la vue matérialisée a un impact négatif sur l’intégrité du cluster (par exemple, consomme trop de processeur), désactivez la vue à l’aide de la .disable materialized-view commande.

Vues matérialisées et sécurité au niveau des lignes

Si une vue matérialisée est désactivée et que la vue est désactivée, une personne définit une stratégie de sécurité au niveau des lignes sur la table source de la vue, mais la vue matérialisée n’a pas de stratégie de sécurité au niveau des lignes définie, puis l’activation de l’affichage échoue pour des raisons de sécurité. Pour corriger cette erreur, vous pouvez :

  • Définissez la stratégie de sécurité au niveau des lignes sur la vue matérialisée.
  • Choisissez d’ignorer l’erreur en ajoutant allowMaterializedViewsWithoutRowLevelSecurity une propriété à la commande Enable Policy. Par exemple :
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Implications en termes de performances de l’activation/de la désactivation des vues matérialisées

  • Lorsqu’une vue matérialisée est désactivée, la matérialisation est suspendue et ne consomme pas de ressources à partir du cluster. L’interrogation de la vue matérialisée est possible même en cas de désactivation, mais les performances peuvent être médiocres. Les performances d’une vue matérialisée désactivée dépendent du nombre d’enregistrements ingérés dans la table source depuis sa désactivation.
  • Vous pouvez activer une vue matérialisée qui a été précédemment désactivée. Lorsqu’elle est réactivée, la vue matérialisée continue de matérialiser à partir du point qu’elle a quitté, et aucun enregistrement n’est ignoré. Si la vue a été désactivée pendant un certain temps, il peut prendre beaucoup de temps pour rattraper le retard.
  • La désactivation d’une vue est recommandée uniquement si vous pensez que la vue a un impact sur l’intégrité de votre cluster.