.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-alter
materialized-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 true ist, 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_min take_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_min take_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 SpalteCount
erstellt, 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 inT | summarize count(), sum(Value) by bin(Timestamp, 1d)
. Für einen bestimmten DatensatzTimestamp=T
, für den Datensätze bereits verarbeitet wurden, bevor die Ansicht geändert wird, enthält diesum
Spalte Teildaten. Diese Ansicht enthält nur Datensätze, die nach der Änderungsausführung verarbeitet wurden.