ランダム数生成のための関数
このセクションのすべての関数は、ゼロまたは1つの引数を受け取ります。引数が提供されている場合の唯一の用途は、共通部分式の排除を防ぐことです。これにより、同じランダム関数の行内で2つの異なる実行が異なるランダム値を返します。
関連コンテンツ
- ブログ: ClickHouseのランダムデータ生成
生成されるランダム数は、非暗号化アルゴリズムによって生成されます。
rand
均等分布のランダムなUInt32数を返します。
システムから取得した初期状態を用いた線形合同生成器を使用しています。これは、見かけ上はランダムであっても、実際には真のランダムではなく、初期状態が知られている場合には予測可能になる可能性があることを意味します。真のランダム性が重要なシナリオでは、システムレベルのコールや外部ライブラリとの統合など、代替手段の使用を検討してください。
構文
エイリアス: rand32
引数
なし。
返される値
UInt32型の数を返します。
例
rand64
ランダムなUInt64整数 (UInt64) 値を返します。
構文
引数
なし。
返される値
均等分布のUInt64数を返します。
システムから取得した初期状態を用いた線形合同生成器を使用しています。これは、見かけ上はランダムであっても、実際には真のランダムではなく、初期状態が知られている場合には予測可能になる可能性があることを意味します。真のランダム性が重要なシナリオでは、システムレベルのコールや外部ライブラリとの統合など、代替手段の使用を検討してください。
例
randCanonical
ランダムなFloat64数を返します。
構文
引数
なし。
返される値
0 (含む) から 1 (含まない) の間のFloat64値を返します。
例
randConstant
ランダム値で埋められた単一の定数カラムを生成します。rand
とは異なり、この関数は生成されたカラムのすべての行に同じランダム値が現れることを保証します。これは、単一のクエリ内の行全体で一貫したランダムシードが必要なシナリオに役立ちます。
構文
引数
- [x](オプション): 生成されたランダム値に影響を与えるオプションの式。提供された場合でも、結果の値は同じクエリ実行内で常に定数になります。同じ式を使用する異なるクエリは、異なる定数値を生成する可能性があります。
返される値
毎行に同じランダム値を含むUInt32型のカラムを返します。
実装の詳細
オプションの式が同じでも、実際の出力は各クエリ実行마다異なります。オプションのパラメータは、randConstant
単独を使用した場合と比べて生成される値を大きく変えることはないかもしれません。
例
randUniform
範囲 [min
, max
] から均等に引かれたランダムなFloat64を返します。
構文
引数
min
-Float64
- 範囲の左端の境界,max
-Float64
- 範囲の右端の境界。
返される値
Float64 型のランダム数を返します。
例
randNormal
正規分布に従って引かれたランダムなFloat64を返します。
構文
引数
mean
-Float64
- 分布の平均値,variance
-Float64
- 分布の分散。
返される値
- ランダム数。Float64。
例
結果:
randLogNormal
対数正規分布に従って引かれたランダムなFloat64を返します。
構文
引数
mean
-Float64
- 分布の平均値,variance
-Float64
- 分布の分散。
返される値
- ランダム数。Float64。
例
結果:
randBinomial
二項分布に従って引かれたランダムなUInt64を返します。
構文
引数
experiments
-UInt64
- 実験の回数,probability
-Float64
- 各実験の成功確率、0から1の間の値。
返される値
- ランダム数。UInt64。
例
結果:
randNegativeBinomial
負の二項分布に従って引かれたランダムなUInt64を返します。
構文
引数
experiments
-UInt64
- 実験の回数,probability
-Float64
- 各実験の失敗確率、0から1の間の値。
返される値
- ランダム数。UInt64。
例
結果:
randPoisson
ポアソン分布に従って引かれたランダムなUInt64を返します。
構文
引数
n
-UInt64
- 平均的な発生回数。
返される値
- ランダム数。UInt64。
例
結果:
randBernoulli
ベルヌーイ分布に従って引かれたランダムなUInt64を返します。
構文
引数
probability
-Float64
- 成功の確率、0から1の間の値。
返される値
- ランダム数。UInt64。
例
結果:
randExponential
指数分布に従って引かれたランダムなFloat64を返します。
構文
引数
lambda
-Float64
- ラムダ値。
返される値
- ランダム数。Float64。
例
結果:
randChiSquared
カイ二乗分布から引かれたランダムなFloat64を返します - kつの独立した標準正規ランダム変数の二乗和の分布です。
構文
引数
degree_of_freedom
-Float64
- 自由度。
返される値
- ランダム数。Float64。
例
結果:
randStudentT
スチューデントのt分布から引かれたランダムなFloat64を返します。
構文
引数
degree_of_freedom
-Float64
- 自由度。
返される値
- ランダム数。Float64。
例
結果:
randFisherF
F分布に従って引かれたランダムなFloat64を返します。
構文
引数
d1
-Float64
-X = (S1 / d1) / (S2 / d2)
のd1自由度,d2
-Float64
-X = (S1 / d1) / (S2 / d2)
のd2自由度,
返される値
- ランダム数。Float64。
例
結果:
randomString
指定された長さのランダムバイト(ゼロバイトを含む)で埋められた文字列を生成します。すべての文字が表示可能であるとは限りません。
構文
引数
length
— バイト単位の文字列の長さ。正の整数。
返される値
ランダムバイトで埋められた文字列。String。
例
クエリ:
結果:
randomFixedString
指定された長さのランダムバイト(ゼロバイトを含む)で埋められたバイナリ字符串を生成します。すべての文字が表示可能であるとは限りません。
構文
引数
length
— バイト単位の文字列の長さ。UInt64。
返される値
ランダムバイトで埋められた文字列。FixedString。
例
クエリ:
結果:
randomPrintableASCII
ランダムなASCII文字のセットを持つ文字列を生成します。すべての文字が表示可能です。
length < 0
を渡すと、関数の動作は未定義になります。
構文
引数
length
— バイト単位の文字列の長さ。正の整数。
返される値
ランダムなASCII表示可能文字のセットを持つ文字列。String
例
randomStringUTF8
指定された長さのランダム文字列を生成します。結果の文字列には有効なUTF-8コードポイントが含まれます。コードポイントの値は割り当てられたUnicodeの範囲外にある場合があります。
構文
引数
length
— コードポイント単位の文字列の長さ。UInt64。
返される値
- UTF-8ランダム文字列。String。
例
クエリ:
結果:
fuzzBits
構文
文字列または固定文字列 s
のビットを、確率 prob
に応じて反転させます。
構文
引数
s
-String
またはFixedString
,prob
- 定数Float32/64
で0.0から1.0の間。
返される値
s
と同じ型のファズ処理された文字列。
例
結果: