Freigeben über


.alter materialized-view

Gilt für: ✅Microsoft Fabric✅Azure Data Explorer

Durch Ändern der materialisierten Sicht kann die Abfrage einer materialisierten Sicht geändert werden, ohne die vorhandenen Daten in der Sicht zu verlieren.

Warnung

Seien Sie beim Ändern einer materialisierten Ansicht besonders vorsichtig. Falsche Verwendung kann zu Datenverlust führen.

Berechtigungen

Sie müssen mindestens über Berechtigungen für den Administrator für materialisierte Ansicht verfügen, um diesen Befehl auszuführen.

Syntax

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

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
PropertyName, PropertyValue string Liste der Eigenschaften in Form von Namen- und Wertpaaren aus der Liste der unterstützten Eigenschaften.
MaterializedViewName string ✔️ Name der materialisierten Ansicht.
SourceTableName string ✔️ Name der Quelltabelle, für die die Ansicht definiert ist.
Abfrage string ✔️ Abfragedefinition der materialisierten Ansicht.

Unterstützte Eigenschaften

Die folgenden Eigenschaften werden in der with (PropertyName = PropertyValue-Klausel) unterstützt. Alle Eigenschaften sind optional.

Name Typ Beschreibung
Lookback timespan Nur für arg_max//arg_mintake_any materialisierte Ansichten gültig. Er begrenzt den Zeitraum, in dem Duplikate erwartet werden. Wenn beispielsweise ein Lookback von 6 Stunden in einer arg_max Ansicht angegeben ist, berücksichtigt die Deduplizierung zwischen neu aufgenommenen Datensätzen und vorhandenen Datensätzen nur Datensätze, die vor bis zu 6 Stunden aufgenommen wurden.

Lookback ist relativ zu ingestion_time. Das Falsche Definieren des Lookbackzeitraums kann zu Duplikaten in der materialisierten Ansicht führen. Wenn z. B. ein Datensatz für einen bestimmten Schlüssel 10 Stunden nach aufnahme eines Datensatzes für denselben Schlüssel aufgenommen wurde und der Lookback auf 6 Stunden festgelegt ist, wird dieser Schlüssel in der Ansicht ein Duplikat sein. Der Lookbackzeitraum wird sowohl während der Materialisierungszeit als auch während der Abfragezeit angewendet.
autoUpdateSchema bool Gibt an, ob die Ansicht bei Änderungen der Quelltabelle automatisch aktualisiert werden soll. Der Standardwert ist false. Diese Option ist nur für Ansichten des Typs arg_max(Timestamp, *)//arg_min(Timestamp, *)take_any(*) gültig (nur wenn das Argument der Spalte lautet).* Wenn diese Option auf true festgelegt ist, werden Änderungen an der Quelltabelle automatisch in der materialisierten Ansicht angezeigt.
dimensionTables array Ein dynamisches Argument, das ein Array von Dimensionstabellen in der Ansicht enthält. Siehe Abfrageparameter.
folder string Der Ordner der materialisierten Ansicht.
docString string Eine Zeichenfolge, die die materialisierte Ansicht dokumentiert.

Gibt zurück

Ausgabeschema:

Name Typ BESCHREIBUNG
Name string Name der materialisierten Ansicht.
SourceTable string Name der Quelltabelle, für die die Ansicht definiert ist.
Abfrage string Abfragedefinition der materialisierten Ansicht.
MaterializedTo datetime Maximale materialisierte ingestion_time() Zeitstempel in der Quelltabelle. Weitere Informationen finden Sie unter materialisierte Ansichten.
LastRun datetime Zeitpunkt der letzten Ausführung der Materialisierung.
LastRunResult string Ergebnis der letzten Ausführung. Gibt für erfolgreiche Ausführungen Completed zurück, andernfalls Failed.
IsHealthy bool true wenn die Ansicht als fehlerfrei betrachtet wird, false andernfalls. Die Ansicht gilt als fehlerfrei, wenn sie bis zur letzten Stunde erfolgreich materialisiert wurde (MaterializedTo ist größer als ago(1h)).
IsEnabled bool true wenn die Ansicht aktiviert ist (siehe Deaktivieren oder Aktivieren der materialisierten Ansicht).
Ordner string Ordner, unter dem die materialisierte Ansicht erstellt wird.
DocString string Beschreibung, die der materialisierten Ansicht zugewiesen ist.
AutoUpdateSchema bool Gibt an, ob die Ansicht für automatische Updates aktiviert ist.
EffectiveDateTime datetime Effektive Datumszeit der Ansicht, bestimmt während der Erstellungszeit (siehe .create materialized-view).
Rückblick timespan Die Zeitspanne begrenzt den Zeitraum, in dem Duplikate erwartet werden.

Beispiele

Ändern der Abfragedefinition einer materialisierten Ansicht

Mit dem folgenden Befehl wird die Abfragedefinition der materialisierten Ansicht MyView geändert:

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

Output

Name SourceTable Abfrage MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Ordner DocString AutoUpdateSchema EffectiveDateTime Rückblick
MyView MyTable MyTable | zusammenfassen arg_max(Spalte3, *) nach Spalte1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Abgeschlossen true true false 2023-02-23T14:01:42.5172342Z

Anwendungsfälle

  • Fügen Sie der Ansicht Aggregationen hinzu , z. B. Hinzufügen von avg Aggregation zu T | summarize count(), min(Value) by Id, durch Ändern der Ansichtsabfrage zu T | summarize count(), min(Value), avg(Value) by Id.
  • Ändern Sie andere Operatoren als den Zusammenfassungsoperator. Filtern Sie z. B. einige Datensätze durch Ändern in T | summarize arg_max(Timestamp, *) by User T | where User != 'someone' | summarize arg_max(Timestamp, *) by User.
  • Ändern Sie die Abfrage aufgrund einer Änderung in der Quelltabelle ohne Änderung. Angenommen, eine Ansicht von T | summarize arg_max(Timestamp, *) by Id, die nicht auf (siehe .create materialized-view Befehl) festgelegt autoUpdateSchema ist. Wenn eine Spalte aus der Quelltabelle der Ansicht hinzugefügt oder entfernt wird, wird die Ansicht automatisch deaktiviert. Führen Sie den Änderungsbefehl mit derselben Abfrage aus, um das Schema der materialisierten Ansicht so zu ändern, dass es mit dem neuen Tabellenschema übereinstimmt. Die Ansicht muss nach der Änderung weiterhin explizit aktiviert werden. Verwenden Sie dazu den Befehl "Materialisierte Ansicht aktivieren".

Begrenzungen

  • Änderungen werden nicht unterstützt:

    • Änderungen an der materialisierten Ansichtsgruppe nach Ausdrücken.
    • Ändern des Spaltentyps.
    • Umbenennen von Spalten Beispielsweise wird durch Ändern einer Ansicht von T | summarize count() by Id " T | summarize Count=count() by Id Spaltenabbruch" count_ eine neue Spalte Counterstellt, die anfänglich nur NULL-Werte enthält.
  • Auswirkungen auf vorhandene Daten:

    • Das Ändern der materialisierten Ansicht hat keine Auswirkungen auf vorhandene Daten.
    • Das Hinzufügen von Filtern zur Abfrage gilt nur für neu aufgenommene Datensätze und ändert keine Datensätze, die bereits materialisiert wurden.
      • Neue Spalten erhalten Nullwerte für alle vorhandenen Datensätze, bis Datensätze, die nach dem Änderungsbefehl aufgenommen wurden, die NULL-Werte ändern.
      • Beispiel: Eine Ansicht von T | summarize count() by bin(Timestamp, 1d) wird geändert in T | summarize count(), sum(Value) by bin(Timestamp, 1d). Für einen bestimmten Datensatz Timestamp=T , für den Datensätze bereits verarbeitet wurden, bevor die Ansicht geändert wird, enthält die sum Spalte Teildaten. Diese Ansicht enthält nur Datensätze, die nach der Änderungsausführung verarbeitet wurden.