- Kategorien:
Aggregatfunktionen (Kardinalitätsschätzung), Fensterfunktionen (Kardinalitätsschätzung)
HLL_ACCUMULATE¶
Gibt am Ende der Aggregation den HyperLogLog-Status zurück.
Weitere Informationen zu HyperLogLog finden Sie unter Schätzen der Anzahl diskreter Werte.
HLL verwirft seinen Zwischenstatus, sobald die endgültige Kardinalitätsschätzung zurückgegeben wird. In fortgeschrittenen Anwendungsfällen, beispielsweise der inkrementellen Kardinalitätsschätzung beim Massenladen, soll der Zwischenstatus möglicherweise beibehalten werden. Der Zwischenstatus kann später mit anderen Zwischenstatus kombiniert (zusammengeführt) oder in externe Tools exportiert werden.
Anders als HLL gibt HLL_ACCUMULATE keine Kardinalitätsschätzung zurück. Stattdessen wird der letzte Schätzungsschritt übersprungen und der algorithmische Status selbst zurückgegeben. Der Status ist ein Binärwert mit höchstens 4.096 Bytes. Weitere Informationen finden Sie unter Schätzen der Anzahl diskreter Werte.
- Siehe auch:
Syntax¶
Aggregatfunktion
Fensterfunktionen
Informationen zur OVER-Klausel finden Sie unter Syntax und Verwendung von Fensterfunktionen.
Argumente¶
exprDer Ausdruck, für den Sie die Kardinalität (Anzahl verschiedener Werte) schätzen möchten. Dies ist normalerweise ein Spaltenname, kann jedoch ein allgemeinerer Ausdruck sein.
Nutzungshinweise¶
Diese Funktion kann als Aggregatfunktion oder Fensterfunktion verwendet werden.
DISTINCT wird unterstützt, hat aber keine Auswirkungen.
Beispiele¶
Dieses Beispiel veranschaulicht einen Schritt zur Schätzung der Anzahl verschiedener Postleitzahlen in kanadischen Provinzen. In diesem Schritt berechnen wir die approximierte Anzahl unterschiedlicher Postleitzahlen in Manitoba und speichern eine interne Darstellung des „Status“ der Berechnung, die wir später mit ähnlichen Informationen für andere Provinzen kombinieren können:
Here is another example. This example shows how to use the three related functions HLL_ACCUMULATE, HLL_ESTIMATE, and HLL_COMBINE.
Erstellen Sie eine einfache Tabelle und Daten:
Create a table that contains the „state“ that represents the current
approximate cardinality 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 die approximierte Kardinalität der kombinierten Zeilenmenge: