Freigeben über


tuple_sketch_agg_double Aggregatfunktion

Gilt für:check marked yes Databricks Runtime 18.1 und höher

Erstellt ein Datasketches TupleSketch aus Schlüssel-Wert-Paaren, bei denen Schlüssel für unterschiedliche Zähl- und doppelte Zusammenfassungswerte gemäß dem angegebenen Modus aggregiert werden.

Syntax

tuple_sketch_agg_double ( key, summary [, lgNomEntries [, mode ]] )

Argumente

  • key: Der Ausdruck für die Zählung eindeutiger Werte. Akzeptierte Typen sind INTEGER, LONG, FLOAT, DOUBLE, STRING, BINARY, und ARRAY<LONG>ARRAY<INTEGER>.
  • Zusammenfassung: Ein DOUBLE Wert, der für jeden Schlüssel zugeordnet und aggregiert werden soll.
  • lgNomEntries: Ein optionales INTEGER Literal, das die Log-Base-2 von Nominaleinträgen angibt. Muss zwischen 4 und 26 einschließlich liegen. Der Standardwert ist 12 (4.096 Buckets). Höhere Werte bieten eine bessere Genauigkeit, verwenden aber mehr Arbeitsspeicher.
  • modus: Ein optionales STRING Literal, das den Aggregationsmodus für Zusammenfassungen angibt. Gültige Werte: 'sum', 'min', 'max', 'alwaysone'. Der Standardwert lautet 'sum'.

Rückkehr

Ein BINARY Wert, der den serialisierten kompakten TupleSketch mit doppelten Zusammenfassungen enthält.

Hinweise

  • NULL Schlüssel- oder Zusammenfassungswerte werden während der Aggregation ignoriert.
  • Leere Zeichenfolgen, leere Bytearrays und leere Arrays werden für Schlüssel ignoriert.
  • Die lgNomEntries Werte und mode Parameter müssen Konstantenwerte sein.
  • Verwenden Sie tuple_sketch_estimate_double , um die unterschiedliche Anzahl zu erhalten.
  • Verwenden Sie tuple_sketch_summary_double , um den aggregierten Zusammenfassungswert abzurufen.

Fehlermeldungen

Beispiele

-- Create sketch with sum mode (default)
> SELECT tuple_sketch_estimate_double(tuple_sketch_agg_double(key, summary, 12, 'sum')) FROM VALUES (1, 5.0D), (1, 1.0D), (2, 2.0D), (2, 3.0D), (3, 2.2D) tab(key, summary);
3.0

-- Get aggregated summary
> SELECT tuple_sketch_summary_double(tuple_sketch_agg_double(key, summary)) FROM VALUES (1, 1.0D), (1, 2.0D), (2, 3.0D) tab(key, summary);
6.0