QUANTILE_TDIGEST (Lakehouse v1)
Calcula um quantil aproximado de uma sequência de dados numéricos usando o algoritmo t-digest.
Sintaxe do Analyze
Seção intitulada “Sintaxe do Analyze”func.quantile_tdigest(<levels>, <expr>)Exemplos do Analyze
Seção intitulada “Exemplos do Analyze”func.quantile_tdigest([0.5, 0.8], table.sales_amount).alias('sales_amounts')
| sales_amounts ||-----------------------+| [6000.0,7000.0] |Sintaxe SQL
Seção intitulada “Sintaxe SQL”QUANTILE_TDIGEST(<level1>[, <level2>, ...])(<expr>)Argumentos
Seção intitulada “Argumentos”| Argumentos | Descrição |
|---|---|
<level n> |
Um nível de quantil representa um número de ponto flutuante constante entre 0 e 1. Recomenda-se usar um valor de nível no intervalo [0.01, 0.99]. |
<expr> |
Qualquer expressão numérica |
Tipo de retorno
Seção intitulada “Tipo de retorno”Retorna um valor Float64 ou um array de valores Float64, dependendo do número de níveis de quantil especificados.
Exemplos de SQL
Seção intitulada “Exemplos de SQL”-- Create a table and insert sample dataCREATE TABLE sales_data ( id INT, sales_person_id INT, sales_amount FLOAT);
INSERT INTO sales_data (id, sales_person_id, sales_amount)VALUES (1, 1, 5000), (2, 2, 5500), (3, 3, 6000), (4, 4, 6500), (5, 5, 7000);
SELECT QUANTILE_TDIGEST(0.5)(sales_amount) AS median_sales_amountFROM sales_data;
median_sales_amount|-------------------+ 6000.0|
SELECT QUANTILE_TDIGEST(0.5, 0.8)(sales_amount)FROM sales_data;
quantile_tdigest(0.5, 0.8)(sales_amount)|----------------------------------------+[6000.0,7000.0] |