Partager via


.alter materialized-view

S’applique à : ✅Microsoft Fabric✅Azure Data Explorer

Une modification de la vue matérialisée peut être utilisée pour modifier la requête d’une vue matérialisée, tout en conservant les données existantes dans la vue.

Avertissement

Soyez prudent lors de la modification d’une vue matérialisée. Une utilisation incorrecte peut entraîner une perte de données.

autorisations

Vous devez disposer au moins des autorisations d’administrateur de vue matérialisée pour exécuter cette commande.

Syntaxe

.altermaterialized-view [ with(PropertyName = PropertyValue,...)] Requête MaterializedViewName SourceTableName on table { }

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
PropertyName, PropertyValue string Liste des propriétés sous la forme de paires nom et valeur, dans la liste des propriétés prises en charge.
MaterializedViewName string ✔️ Nom de la vue matérialisée.
SourceTableName 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.

Propriétés prises en charge

Les propriétés suivantes sont prises en charge dans la with (clause PropertyName = PropertyValue.) Toutes les propriétés sont facultatives.

Nom Type Description
lookback timespan Valide uniquement pour arg_max//arg_mintake_any les vues matérialisées. Elle limite la période pendant laquelle les doublons sont attendus. Par exemple, si une recherche de 6 heures est spécifiée sur une arg_max vue, la déduplication entre les enregistrements nouvellement ingérés et les enregistrements existants prend en compte uniquement les enregistrements qui ont été ingérés il y a jusqu’à 6 heures.

Lookback est relatif à ingestion_time. La définition incorrecte de la période de recherche peut entraîner des doublons dans la vue matérialisée. Par exemple, si un enregistrement pour une clé spécifique est ingéré 10 heures après l’ingestion d’un enregistrement pour la même clé et que la recherche est définie sur 6 heures, cette clé est un doublon dans la vue. La période de recherche est appliquée pendant le temps de matérialisation et l’heure de requête.
autoUpdateSchema bool Indique s’il faut mettre à jour automatiquement la vue sur les modifications apportées à la table source. La valeur par défaut est false. Cette option est valide uniquement pour les vues de type arg_max(Timestamp, *)//arg_min(Timestamp, *)take_any(*) (uniquement lorsque l’argument de la colonne est ).* Si cette option est définie truesur , les modifications apportées à la table source sont automatiquement reflétées dans la vue matérialisée.
dimensionTables tableau Argument dynamique qui inclut un tableau de tables de dimension dans la vue. Consultez le paramètre De requête.
dossier string Dossier de la vue matérialisée.
docString string Chaîne qui documente la vue matérialisée.

Retours

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

Modifier la définition de requête d’une vue matérialisée

La commande suivante modifie la définition de requête de la vue matérialisée MyView :

.alter materialized-view MyView on table MyTable
{
    MyTable | summarize arg_max(Column3, *) by Column1
}

Sortie

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

Cas d’utilisation

  • Ajoutez des agrégations à la vue , par exemple, ajoutez avg l’agrégation à T | summarize count(), min(Value) by Id, en modifiant la requête d’affichage en T | summarize count(), min(Value), avg(Value) by Id.
  • Modifiez les opérateurs autres que l’opérateur de synthèse. Par exemple, filtrez certains enregistrements en modifiant T | summarize arg_max(Timestamp, *) by User la valeur T | where User != 'someone' | summarize arg_max(Timestamp, *) by User.
  • Modifiez sans modification de la requête en raison d’une modification de la table source. Par exemple, supposons qu’une vue de T | summarize arg_max(Timestamp, *) by Id, qui n’est pas définie autoUpdateSchema sur (voir .create materialized-view la commande). Si une colonne est ajoutée ou supprimée de la table source de la vue, la vue est automatiquement désactivée. Exécutez la commande alter, avec la même requête, pour modifier le schéma de la vue matérialisée pour s’aligner sur le nouveau schéma de table. La vue doit toujours être activée explicitement après la modification, à l’aide de la commande Activer la vue matérialisée.

Limites

  • Modifications non prises en charge :

    • Modifications apportées au groupe d’affichage matérialisé par expressions.
    • Modification du type de colonne.
    • Changement de nom des colonnes. Par exemple, la modification d’une vue de suppression T | summarize Count=count() by Id de T | summarize count() by Id colonne count_ et la création d’une nouvelle colonneCount, qui contient initialement des valeurs Null uniquement.
  • Impact sur les données existantes :

    • La modification de la vue matérialisée n’a aucun impact sur les données existantes.
    • L’ajout de filtres à la requête s’applique uniquement aux enregistrements nouvellement ingérés et ne modifie pas les enregistrements qui ont déjà été matérialisés.
      • Les nouvelles colonnes reçoivent des valeurs Null pour tous les enregistrements existants jusqu’à ce que les enregistrements ingérés après la commande alter modifient les valeurs Null.
      • Par exemple : une vue d’une T | summarize count() by bin(Timestamp, 1d) vue est modifiée en T | summarize count(), sum(Value) by bin(Timestamp, 1d). Pour un enregistrement particulier Timestamp=T pour lequel les enregistrements ont déjà été traités avant de modifier la vue, la sum colonne contient des données partielles. Cette vue inclut uniquement les enregistrements traités après l’exécution de modification.