quantileBFloat16
Introduit dans : v21.7.0
Calcule un quantile approximatif d’un échantillon composé de nombres bfloat16.
bfloat16 est un type de données à virgule flottante avec 1 bit de signe, 8 bits d’exposant et 7 bits de fraction.
La fonction convertit les valeurs d’entrée en nombres à virgule flottante de 32 bits et conserve les 16 bits de poids fort. Elle calcule ensuite la valeur du quantile bfloat16, puis convertit le résultat en nombre à virgule flottante de 64 bits en ajoutant des bits nuls.
La fonction est un estimateur rapide de quantile, avec une erreur relative maximale de 0.78125% (et une erreur relative moyenne d’environ 0.27%), correspondant à la précision de mantisse sur 7 bits de bfloat16.
Syntaxe
quantileBFloat16[(level)](expr)Alias : medianBFloat16
Paramètres
level— Facultatif. Niveau du quantile. Les valeurs possibles vont de 0 à 1. Valeur par défaut : 0.5.Float*
Arguments
expr— Expression sur les valeurs de la colonne produisant des types de données numériques,DateouDateTime.(U)Int*ouFloat*ouDateouDateTime
Valeur renvoyée
Quantile approximatif du niveau spécifié. Pour les entrées Date et DateTime, le format de sortie correspond au format d’entrée. Float64 ou Date ou DateTime
Exemples
Calcul du quantile en 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 │
└───────────────────────────┴───────────────────────────┘Voir aussi