Materialisierte Ansichten und gespeicherte Funktionen
Während Sie Ihre Analyseziele häufig erreichen können, indem Sie Tabellen abfragen und integrierte Funktionen und Operatoren verwenden, bietet KQL einige erweiterte Features, mit denen Sie neue Objekte erstellen können, die Daten oder Logik kapseln, die Sie häufig verwenden müssen.
Materialisierte Sichten
Eine materialisierte Sicht ist eine Zusammenfassung von Daten aus einer Quelltabelle oder einer anderen materialisierten Sicht. Die Ansicht kapselt eine summarize-Anweisung.
Mit der folgenden Anweisung wird beispielsweise eine materialisierte Ansicht erstellt, die die Anzahl der Fahrten für jeden Anbieter jeden Tag enthält.
.create materialized-view TripsByVendor on table Automotive
{
Automotive
| summarize trips = count() by vendor_id, pickup_date = format_datetime(pickup_datetime, "yyyy-MM-dd")
}
Wenn Sie diese Anweisung ausführen, wird eine materialisierte Ansicht erstellt, sie wird jedoch nicht sofort mit den Daten in der vorhandenen Tabelle aufgefüllt. Die Ansicht wird aufgefüllt, wenn neue Daten in der Quelltabelle erfasst werden. Zum Erfassen vorhandener Daten können Sie einen asynchronen Vorgang verwenden, um die materialisierte Ansicht mit der Option Abgleich wie folgt zu erstellen:
.create async materialized-view with (backfill=true)
TripsByVendor on table Automotive
{
Automotive
| summarize trips = count() by vendor_id, pickup_date = format_datetime(pickup_datetime, "yyyy-MM-dd")
}
Nach dem Erstellen und Auffüllen der materialisierten Ansicht können Sie sie genau wie eine Tabelle abfragen.
TripsByVendor
| project pickup_date, vendor_id, trips
| sort by pickup_date desc
Materialisierte Ansichten werden im Ordner Materialisierte Ansichten für die KQL-Datenbank aufgelistet, in dem Sie sie auf der Eventhouse-Seite definiert haben.
Gespeicherte Funktionen
KQL bietet die Möglichkeit, eine Abfrage als Funktion zu kapseln, wodurch allgemeine Abfragen einfacher wiederholt werden können. Sie können auch Parameter für eine Funktion angeben, sodass Sie dieselbe Abfrage mit Variablenwerten wiederholen können.
Verwenden Sie zum Erstellen einer Funktion den KQL-Befehl .create-or-alter function. Die folgende Funktion ruft z. B. die Fahrt-ID und Abholzeit für Fahrten mit mindestens der angegebenen Anzahl von Passagieren ab:
.create-or-alter function trips_by_min_passenger_count(num_passengers:long)
{
Automotive
| where passenger_count >= num_passengers
| project trip_id, pickup_datetime
}
Um die Funktion aufzurufen, verwenden Sie sie wie eine Tabelle. In diesem Beispiel wird die Funktion trips_by_min_passenger_count verwendet, um 10 Fahrten mit mindestens drei Passagieren zu finden:
trips_by_min_passenger_count (3)
| take 10