- 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.
Syntaxe
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.
Syntaxe
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.
Syntaxe
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
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
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).
Syntaxe
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
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
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
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
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
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
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
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
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
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
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
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.
Syntaxe
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
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
length— Longueur de la chaîne en points de code.(U)Int*
String
Exemples
Exemple d’utilisation
Query
Response