Freigeben über


.create-or-alter materialized-view

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

Erstellt eine materialisierte Sicht oder ändert eine vorhandene materialisierte Sicht.

Berechtigungen

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

Syntax

.create-or-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. Der Ansichtsname kann nicht mit Tabellen- oder Funktionsnamen in derselben Datenbank in Konflikt geraten und muss den Benennungsregeln des Bezeichners entsprechen.
SourceTableName string ✔️ Name der Quelltabelle, für die die Ansicht definiert ist.
Abfrage string ✔️ Abfragedefinition der materialisierten Ansicht.

Unterstützte Eigenschaften

Neue Tabelle

Wenn die Tabelle neu ist, werden die folgenden Eigenschaften im with(PropertyName = PropertyValue ) unterstützt. Alle Eigenschaften sind optional.

Name Typ Beschreibung
auffüllen bool Gibt an, ob die Ansicht basierend auf allen Datensätzen erstellt werden soll, die sich aktuell in SourceTable (true) befinden, oder ob sie von jetzt an (false) erstellt werden sollen. Der Standardwert ist false. Weitere Informationen finden Sie unter "Zurückfüllen einer materialisierten Ansicht".
effectiveDateTime datetime Nur relevant, wenn Sie verwenden backfill. Wenn sie festgelegt ist, füllt die Erstellung nur datensätze aus, die nach der Datumszeit aufgenommen wurden. backfill muss auch auf true. Diese Eigenschaft erwartet ein Datetime-Literal; beispiel: effectiveDateTime=datetime(2019-05-01).
updateExtentsCreationTime bool Nur relevant, wenn Sie verwenden backfill. Wenn sie festgelegt trueist, wird die Zeit für die Erstellung des Umfangs basierend auf dem Schlüssel "datetime" während des Backfill-Prozesses zugewiesen. Weitere Informationen finden Sie unter "Zurückfüllen einer materialisierten Ansicht".
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.

Der Lookback ist relativ zu ingestion_time(). Wenn die materialisierte Ansichtsabfrage den ingestion_time() Wert nicht behält, kann der Lookback nicht für die Ansicht definiert werden. Siehe materialisierte Ansichtenbeschränkungen und bekannte Probleme. 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.
allowMaterializedViewsWithoutRowLevelSecurity bool Ermöglicht das Erstellen einer materialisierten Ansicht über einer Tabelle mit aktivierter Sicherheitsrichtlinie auf Zeilenebene.

Vorhandene Tabelle

Wenn die Tabelle bereits vorhanden ist, werden nur die folgenden Teilmengen von Eigenschaften im with(PropertyName = PropertyValue ) 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

Erstellen oder Ändern einer materialisierten Ansicht

Der folgende Befehl erstellt eine neue oder ändert eine vorhandene materialisierte Ansicht namens ArgMax:

.create-or-alter materialized-view ArgMax on table T
{
    T | summarize arg_max(Timestamp, *) by User
}

Output

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

Hinweise

Wenn die materialisierte Ansicht nicht vorhanden ist, verhält sich dieser Befehl genauso wie die materialisierte Ansicht .create.

Weitere Informationen finden Sie in den Abschnitten "Abfrageparameter " und "Eigenschaften ".

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.