Condividi tramite


kll_merge_agg_float funzione di aggregazione

Si applica a:check contrassegnato come sì controllo SQL di Databricks contrassegnato come sì Databricks Runtime 18.0 e versioni successive

Utilizza più buffer di schizzo KLL (K-Linear-Logarithmic) per la stima quantile approssimativa sui dati a virgola mobile a precisione singola e li unisce in un unico buffer di risultati.

Sintassi

kll_merge_agg_float ( sketch [, k ] )

Arguments

  • schizzo: schizzo KLL in formato binario (ad esempio da kll_sketch_agg_float).
  • k: valore letterale facoltativo INTEGER che controlla l'accuratezza dello schizzo. Deve essere compreso tra 8 e 65535. Il valore predefinito è 200. I valori più elevati offrono una maggiore precisione, ma usano più memoria.

Restituzioni

Valore BINARY contenente lo schizzo KLL serializzato unito per i dati a virgola mobile e precisione singola.

Note

  • Se k non viene specificato, lo schizzo unito adotta il valore k del primo schizzo di input.
  • L'operazione di unione gestisce gli schizzi di input con valori k diversi.
  • NULL i valori vengono ignorati durante l'aggregazione.
  • Utilizzare questa funzione quando si uniscono più schizzi in un contesto di aggregazione. Per unire esattamente due schizzi, usare invece la funzione scalare kll_sketch_merge_float .

Messaggi di errore

Esempi

-- Merge sketches with default k=200
> SELECT kll_sketch_get_n_float(kll_merge_agg_float(sketch))
  FROM (
    SELECT kll_sketch_agg_float(col) AS sketch
    FROM VALUES (1), (2), (3) AS tab(col)
    UNION ALL
    SELECT kll_sketch_agg_float(col) AS sketch
    FROM VALUES (4), (5), (6) AS tab(col)
  ) t;
6.0