- Kategorien:
Aggregatfunktionen (Frequency Estimation) , Syntax und Verwendung von Fensterfunktionen
APPROX_TOP_K_ACCUMULATE¶
Gibt am Ende der Aggregation den Space-Saving-Überblick zurück. (Weitere Informationen zum Space-Saving-Überblick finden Sie unter Schätzen häufiger Werte.)
Die Funktion APPROX_TOP_K verwirft ihren internen Zwischenstatus, sobald die endgültige Kardinalitätsschätzung zurückgegeben wird. In bestimmten fortgeschrittenen Anwendungsfällen, beispielsweise beim Schätzen inkrementeller Häufigkeitswerte beim Massenladen, möchten Sie den Zwischenstatus möglicherweise beibehalten. In diesem Fall würden Sie APPROX_TOP_K_ACCUMULATE anstelle von APPROX_TOP_K verwenden.
Anders als APPROX_TOP_K gibt APPROX_TOP_K_ACCUMULATE keine Häufigkeitsschätzung für Elemente zurück. Stattdessen wird der algorithmische Status selbst zurückgegeben. Der Zwischenstatus kann später lauten:
Kombiniert (d. h. zusammengeführt) mit Zwischenstatus aus separaten, aber verwandten Datenmengen.
Verarbeitet durch andere Funktionen, die direkt mit dem Zwischenstatus operieren, z. B. APPROX_TOP_K_ESTIMATE. (Ein Beispiel dazu finden Sie unten im Abschnitt „Beispiele“.)
Exportiert in externe Tools.
- Siehe auch:
Syntax¶
Argumente¶
exprDer Ausdruck (z. B. Spaltenname), für den Sie die häufigsten Werte finden möchten.
countersDies ist die maximale Anzahl unterschiedlicher Werte, die sich beim Schätzen gleichzeitig verfolgen lassen.
Wenn
countersbeispielsweise auf „100000“ gesetzt ist, verfolgt der Algorithmus 100.000 verschiedene Werte und versucht, die 100.000 häufigsten Werte beizubehalten.Die maximale Anzahl von
countersbeträgt100000(100.000).
Nutzungshinweise¶
Werte des Typs „decimal-float“ (DECFLOAT) werden nicht unterstützt.
Beispiele¶
In diesem Beispiel wird die Verwendung der drei verwandten Funktionen APPROX_TOP_K_ACCUMULATE, APPROX_TOP_K_ESTIMATE und APPROX_TOP_K_COMBINE veranschaulicht.
Bemerkung
In diesem Beispiel werden mehr Zähler als unterschiedliche Datenwerte verwendet, um konsistente Ergebnisse zu erhalten. In realen Anwendungen ist die Anzahl der diskreten Werte in der Regel größer als die Anzahl der Zähler, sodass Sie Näherungswerte erhalten, die variieren können.
In diesem Beispiel wird eine Tabelle mit 8 Zeilen und den Werten 1–8 sowie eine zweite Tabelle mit 8 Zeilen und den Werten 5–12 generiert. Daher sind die häufigsten Werte in der Vereinigung der beiden Tabellen die Werte 5 bis 8, von denen jeder eine Zählwert von 2 hat.
Erstellen Sie eine einfache Tabelle und Daten:
Create a table that contains the „state“ that represents the current
approximate Top K information for the table named sequence_demo:
Now create a second table and add data. (In a more realistic situation, the user could have loaded more data into the first table and divided the data into non-overlapping sets based on the time that the data was loaded.)
Rufen Sie die „Statusinformationen“ nur für die neuen Daten ab.
Kombinieren Sie die „Statusinformationen“ für die zwei Mengen von Zeilen:
Ermitteln Sie den approximierten Top K-Wert der kombinierten Zeilenmenge: