quantileBFloat16
Introduzido em: v21.7.0
Calcula um quantil aproximado de uma amostra composta por números bfloat16.
bfloat16 é um tipo de dado de ponto flutuante com 1 bit de sinal, 8 bits de expoente e 7 bits de fração.
A função converte os valores de entrada em números de ponto flutuante de 32 bits e usa os 16 bits mais significativos. Em seguida, calcula o valor do quantil bfloat16 e converte o resultado em um número de ponto flutuante de 64 bits, acrescentando bits zero.
A função é um estimador rápido de quantil com erro relativo máximo de 0.78125% (e erro relativo médio de aproximadamente 0.27%), correspondente à precisão da mantissa de 7 bits do bfloat16.
Sintaxe
quantileBFloat16[(level)](expr)Aliases: medianBFloat16
Parâmetros
level— Opcional. Nível do quantil. Os valores possíveis estão no intervalo de 0 a 1. Valor padrão: 0.5.Float*
Argumentos
expr— Expressão sobre os valores da coluna que resulta em tipos de dados numéricos,DateouDateTime.(U)Int*ouFloat*ouDateouDateTime
Valor retornado
Quantil aproximado no nível especificado. Para entradas Date e DateTime, o formato de saída corresponde ao formato de entrada. Float64 ou Date ou DateTime
Exemplos
Calculando o quantil com bfloat16
CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);
SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│ 3 │ 1 │
└───────────────────────────┴───────────────────────────┘Veja também