- Kategorien:
Aggregatfunktionen (Percentile Estimation) , Syntax und Verwendung von Fensterfunktionen
APPROX_PERCENTILE_ACCUMULATE¶
Gibt am Ende der Aggregation die interne Darstellung des t-Digest-Status zurück (als JSON-Objekt). (Weitere Informationen zu t-Digest finden Sie unter: Schätzen von Perzentilwerten.)
The function APPROX_PERCENTILE discards this internal, intermediate state when the final percentile estimate is returned. However, in certain advanced use cases, such as estimating incremental percentile during bulk loading, you may wish to keep the intermediate state, in which case you would use APPROX_PERCENTILE_ACCUMULATE instead of APPROX_PERCENTILE.
APPROX_PERCENTILE_ACCUMULATE does not return a percentile value. Instead, it returns the algorithm state itself. The intermediate state can later be:
Kombiniert (d. h. zusammengeführt) mit anderen Zwischenstatus aus separaten, aber verwandten Datenbatches.
Verarbeitet durch andere Funktionen, die direkt mit dem Zwischenstatus operieren, z. B. APPROX_PERCENTILE_ESTIMATE. (Ein Beispiel dazu finden Sie unten im Abschnitt „Beispiele“.)
Exportiert in externe Tools.
- Siehe auch:
Syntax¶
Argumente¶
exprEin gültiger Ausdruck, z. B. ein Spaltenname, der einen numerischen Wert ergibt.
Nutzungshinweise¶
Perzentile funktionieren nur bei numerischen Werten. Daher muss
exprWerte erzeugen, die Zahlen sind oder in Zahlen umgewandelt werden können.
Werte des Typs „decimal-float“ (DECFLOAT) werden nicht unterstützt.
Beispiel¶
Store the t-Digest state of the testtable.c1 column in a table and then use the state to compute percentiles:
Here is a more extensive example that shows the usage of all three related functions: APPROX_PERCENTILE_ACCUMULATE, APPROX_PERCENTILE_ESTIMATE, and APPROX_PERCENTILE_COMBINE.
Erstellen Sie eine einfache Tabelle und Daten:
Create a table that contains the „state“ that represents the current
approximate percentile information for the table named test_table1:
Verwenden Sie diese Statusinformationen, um die aktuelle Schätzung des Medianwerts anzuzeigen (0,5 bedeutet, dass der Wert beim 50. Perzentil sein soll):
Erstellen Sie nun eine zweite Tabelle und fügen Sie Daten hinzu. (In einer realistischeren Situation hätte der Benutzer möglicherweise mehr Daten in die erste Tabelle geladen und die Daten anhand der Zeit, zu der die Daten geladen wurden, in nicht überlappende Sätze unterteilt.)
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 Medianwert der kombinierten Zeilenmenge: