- Kategorien:
Aggregatfunktionen (Cardinality Estimation) , Syntax und Verwendung von Fensterfunktionen
DATASKETCHES_HLL_COMBINE¶
Kombiniert (verschmilzt) Eingabeskizzen zu einer einzigen Ausgabeskizze.
Diese Funktion ist eine Version der Funktion HLL HyperLogLog, die binäre Skizzen in dem von Apache DataSketches verwendeten Format lesen kann. Weitere Informationen finden Sie in der Dokumentation zu Apache DataSketches.
Diese Funktion ermöglicht Szenarien, in denen die Funktion DATASKETCHES_HLL_ACCUMULATE über horizontale Partitionen derselben Tabelle ausgeführt wird und eine Algorithmus-Skizze für jede Tabellenpartition erzeugt. Diese Skizzen können später mit dieser Funktion kombiniert werden und erzeugen dieselbe Ausgabe-Skizze wie ein einziger Durchlauf von DATASKETCHES_HLL_ACCUMULATE über die gesamte Tabelle.
- Siehe auch:
Syntax¶
DATASKETCHES_HLL_COMBINE( [ DISTINCT ] <state> [ , <max_log_k> ] )
Erforderliche Argumente¶
state
Ein Ausdruck, der Statusinformationen enthält, die durch einen Aufruf von DATASKETCHES_HLL_ACCUMULATE generiert wurden.
Optionale Argumente¶
max_log_k
Der maximale Wert von K in log2 für diese Vereinigung. Geben Sie einen INTEGER-Wert zwischen 4 und 21 ein. Weitere Informationen finden Sie in der Dokumentation zu Apache DataSketches.
Standardeinstellung: 12
Rückgabewerte¶
Die Funktion gibt einen BINARY-Wert zurück, der mit der Apache Datasketches-Bibliothek kompatibel ist.
Nutzungshinweise¶
DISTINCT wird unterstützt, hat aber keine Auswirkungen.
Beispiele¶
Erstellen Sie eine Tabelle, und fügen Sie Zeilen ein:
CREATE OR REPLACE TABLE datasketches_demo(v INT, g INT);
INSERT INTO datasketches_demo SELECT 1, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 1, 2;
INSERT INTO datasketches_demo SELECT 1, 2;
INSERT INTO datasketches_demo SELECT 4, 2;
INSERT INTO datasketches_demo SELECT 4, 2;
INSERT INTO datasketches_demo SELECT 5, 2;
Das folgende Beispiel führt die folgenden Aktionen aus:
Die Funktion DATASKETCHES_HLL_ACCUMULATE erstellt zwei binäre Skizzen für die Daten in Spalte
v
, gruppiert nach den Werten1
und2
in Spalteg
.Die Funktion DATASKETCHES_HLL_COMBINE kombiniert diese binären Skizzen.
WITH
accumulated AS (
SELECT g,
DATASKETCHES_HLL_ACCUMULATE(v) AS accumulated_sketches
FROM datasketches_demo
GROUP BY g)
SELECT DATASKETCHES_HLL_COMBINE(accumulated_sketches) AS combined_sketches
FROM accumulated;
+--------------------------------------------------+
| COMBINED_SKETCHES |
|--------------------------------------------------|
| 0201070C030804002BF2FB06862FF90D81BC5D067B65E608 |
+--------------------------------------------------+
Sie können die Werte der akkumulierten Skizzen im Beispiel unter DATASKETCHES_HLL_ACCUMULATE sehen.