.alter materialized-view
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 très 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’affichage matérialisé Administration pour exécuter cette commande.
Syntax
.alter
materialized-view
[ with
(
PropertyName=
PropertyValue,
...)
] MaterializedViewNameon table
SourceTableName{
Requête}
Découvrez les conventions de syntaxe.
Paramètres
Nom | Type | Obligatoire | Description |
---|---|---|---|
PropertyName, PropertyValue | string |
Liste des propriétés sous forme de paires nom-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_min take_any les vues matérialisées. Il limite la période pendant laquelle les doublons sont attendus. Par exemple, si une recherche en arrière 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 ne prend en compte que les enregistrements qui ont été ingérés il y a 6 heures. La recherche arrière est relative à ingestion_time . La définition incorrecte de la période de recherche différée 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 arrière est définie sur 6 heures, cette clé est un doublon dans la vue. La période de recherche en arrière est appliquée au moment de la matérialisation et au moment de la requête. |
autoUpdateSchema | bool |
Indique s’il faut mettre à jour automatiquement la vue sur les modifications de 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 sur true , les modifications apportées à la table source sont automatiquement répercutées dans la vue matérialisée. |
dimensionTables | tableau | Argument dynamique qui inclut un tableau de tables de dimension dans la vue. Consultez 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 maximal matérialisé ingestion_time() dans la table source. Pour plus d’informations, consultez 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 l’affichage est activé pour les mises à jour automatiques. |
EffectiveDateTime | datetime |
Date d’effet heure de la vue, déterminée pendant l’heure de création (voir .create materialized-view ). |
Recherche arrière | timespan |
Intervalle de temps limitant la période pendant 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, *) par Column1 | 2023-02-26T16 :40 :03.3345704Z | 2023-02-26T16 :44 :15.9033667Z | Effectué | 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 enT | summarize count(), min(Value), avg(Value) by Id
. - Modifier des opérateurs autres que l’opérateur de synthèse. Par exemple, filtrez certains enregistrements en
T | summarize arg_max(Timestamp, *) by User
T | where User != 'someone' | summarize arg_max(Timestamp, *) by User
remplaçant par . - Modifiez sans modifier 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 surautoUpdateSchema
(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 exactement la même requête, pour modifier le schéma de la vue matérialisée pour l’aligner sur le nouveau schéma de table. La vue doit toujours être explicitement activée 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’affichages matérialisés par des expressions.
- Modification du type de colonne.
- Changement de nom des colonnes. Par exemple, la modification d’une vue de
T | summarize count() by Id
àT | summarize Count=count() by Id
supprime la colonnecount_
et crée 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 de
T | summarize count() by bin(Timestamp, 1d)
est modifiée enT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Pour un particulierTimestamp=T
pour lequel des enregistrements ont déjà été traités avant de modifier la vue, lasum
colonne contient des données partielles. Cette vue inclut uniquement les enregistrements traités après l’exécution de la modification.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour