- Guide : Génération de données aléatoires dans ClickHouse
- Blog : Génération de données aléatoires dans ClickHouse
Les nombres aléatoires sont générés par des algorithmes non cryptographiques.
La documentation ci-dessous est générée à partir de la table système
system.functions.fuzzBits
s, avec une probabilité p pour chaque bit.
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
s—StringouFixedStringsur laquelle effectuer un fuzzing de bitsStringouFixedStringp— Probabilité d’inverser chaque bit, sous la forme d’un nombre compris entre0.0et1.0Float*
s. String ou FixedString
Exemples
Exemple d’utilisation
Query
Response
rand
UInt32 aléatoire suivant une distribution uniforme.
Cette fonction utilise un générateur congruentiel linéaire avec un état initial obtenu à partir du système, ce qui signifie que, bien qu’il paraisse aléatoire, il ne l’est pas réellement et peut être prévisible si l’état initial est connu.
Dans les cas où une véritable source d’aléa est indispensable, envisagez d’utiliser d’autres méthodes, comme des appels système ou l’intégration de bibliothèques externes.
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
rand32
Arguments
x— Facultatif et ignoré. Le seul rôle de l’argument est d’empêcher l’élimination des sous-expressions communes lorsqu’un même appel de fonction est utilisé plusieurs fois dans une requête.Any
UInt32. UInt32
Exemples
Exemple d’utilisation
Query
Response
rand64
UInt64 aléatoire suivant une distribution uniforme.
Utilise un générateur congruentiel linéaire avec un état initial obtenu à partir du système, ce qui signifie que, même s’il semble aléatoire, il ne l’est pas réellement et peut être prévisible si l’état initial est connu.
Lorsque le caractère véritablement aléatoire est crucial, envisagez d’utiliser d’autres méthodes, comme des appels système ou l’intégration de bibliothèques externes.
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
randBernoulli
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
probability— La probabilité de succès, sous la forme d’une valeur comprise entre0et1.Float64x— Facultatif et ignoré. Le seul objectif de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64 aléatoire générée selon la loi de Bernoulli spécifiée. UInt64
Exemples
Exemple d’utilisation
Query
Response
randBinomial
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
experiments— Le nombre d’épreuvesUInt64probability— La probabilité de succès de chaque épreuve, sous la forme d’une valeur comprise entre0et1Float64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
randCanonical
Float64 aléatoire suivant une distribution uniforme entre 0 (inclus) et 1 (exclus).
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
x— Facultatif et ignoré. Le seul but de l’argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64
Exemples
Exemple d’utilisation
Query
Response
randChiSquared
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
degree_of_freedom— Degrés de liberté.Float64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64
Exemples
Exemple d’utilisation
Query
Response
randConstant
- Renvoie la même valeur aléatoire pour chaque ligne au sein d’une même requête
- Produit des valeurs différentes d’une exécution à l’autre
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
x— Facultatif et ignoré. Le seul but de l’argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
UInt32 contenant la même valeur aléatoire sur chaque ligne. UInt32
Exemples
Utilisation de base
Query
Response
Query
Response
randExponential
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
lambda— Paramètre de taux, ou valeur lambda, de la distributionFloat64x— Facultatif et ignoré. Le seul but de l’argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64
Exemples
Exemple d’utilisation
Query
Response
randFisherF
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
d1— le degré de liberté d1 dansX = (S1 / d1) / (S2 / d2).Float64d2— le degré de liberté d2 dansX = (S1 / d1) / (S2 / d2).Float64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes si le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64
Exemples
Exemple d’utilisation
Query
Response
randLogNormal
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
mean— La valeur moyenne de la distribution.Float64stddev— L’écart type de la distribution.Float64x— Facultatif et ignoré. Le seul objectif de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64 tiré de la distribution log-normale spécifiée. Float64
Exemples
Exemple d’utilisation
Query
Response
randNegativeBinomial
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
experiments— Le nombre d’expériences.UInt64probability—La probabilité d'échec dans chaque expérience, sous forme d'une valeur comprise entre0et1. [Float64`](/reference/data-types/float)x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
randNormal
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
mean— La moyenne de la distributionFloat64stddev— L’écart type de la distributionFloat64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64
Exemples
Exemple d’utilisation
Query
Response
randPoisson
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
n— Le nombre moyen d’occurrences.UInt64x— Facultatif et ignoré. Cet argument a pour seul but d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
randStudentT
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
degree_of_freedom— Degrés de liberté.Float64x— Facultatif et ignoré. Le seul objectif de cet argument est d’empêcher l’élimination des sous-expressions communes si le même appel de fonction est utilisé plusieurs fois dans une requête.Any
Float64
Exemples
Exemple d’utilisation
Query
Response
randUniform
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
min— Borne gauche de l’intervalle (incluse).Float64max— Borne droite de l’intervalle (incluse).Float64x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
min et max. Float64
Exemples
Exemple d’utilisation
Query
Response
randomFixedString
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
length— Longueur de la chaîne en octets.UInt*
FixedString
Exemples
Exemple d’utilisation
Query
Response
randomPrintableASCII
length < 0, le comportement de la fonction est indéfini.
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
length— Longueur de la chaîne en octets.(U)Int*x— Facultatif et ignoré. Le seul but de cet argument est d’empêcher l’élimination des sous-expressions communes lorsqu’un même appel de fonction est utilisé plusieurs fois dans une requête.Any
String
Exemples
Exemple d’utilisation
Query
Response
randomString
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
length— Longueur de la chaîne en octets.(U)Int*x— Facultatif et ignoré. Cet argument a pour seule fonction d’empêcher l’élimination des sous-expressions communes lorsque le même appel de fonction est utilisé plusieurs fois dans une requête.Any
String
Exemples
Exemple d’utilisation
Query
Response
randomStringUTF8
Cette fonction est non déterministe : elle peut renvoyer des résultats différents pour les mêmes arguments.
length— Longueur de la chaîne en points de code.(U)Int*
String
Exemples
Exemple d’utilisation
Query
Response