Skip to main content
指定したスキーマでランダムデータを生成します。 そのデータを使用してテスト用テーブルにデータを投入できます。 JSON、Dynamic、Variant、BFloat16、Time、Time64を含め、テーブルに格納できるすべてのデータ型をサポートしています。 AggregateFunction、Interval、Nothing、QBit型はサポートされていません。

構文

引数

設定

SETTINGS は呼び出しの最後の引数で、Nullable、Variant、Dynamic、JSON の値の生成方法を制御します。
SETTINGS のみを引数として指定することもできます。この場合、挿入先テーブルの構造が維持されます。ҩ

戻り値

指定したスキーマを持つテーブルオブジェクト。

使用例

generateRandomStructureと組み合わせると:
structure 引数がない場合 (この場合、構造はランダムになります) :
ランダムな構造とランダムデータの両方にランダムシードを使用する場合:
generateRandom(generateRandomStructure(), [random seed], max_string_length, max_array_length) で max_array_length を十分大きくすると、複合型 (Array, Tuple, Map, Nested) のネストが深くなる可能性がある (最大 16 階層) ため、出力が非常に大きくなることがあります。

JSON の生成

生成された JSON カラムは、単一のスキーマを持つドキュメントのストリームとして読み取れます。キーの集合と各キーの型は 乱数シードによって決まり、カラム全体を通して変わりません。一方、値や 欠落するキー、配列の長さは行ごとに変わります。オブジェクトの深さは max_json_depth、各階層のキー数は max_json_keys_per_object で制限され、各キーは null_ratio の確率で行から欠落します。末端の値には、実際のドキュメントから JSON パーサーが推論する型、 すなわち Int64、UInt64、Float64、Bool、String、Date、DateTime、これらの型の配列、 オブジェクトの配列、混合型の配列が使われます。また、アプリケーションから収集したデータと同様に、 一部のキーは少数の行で異なる型になります。 型宣言によって、生成されるスキーマが決まります。型付きパスは宣言された 型で必ず存在し、SKIP と SKIP REGEXP で除外されたパスは生成されません。また、 max_dynamic_paths と max_dynamic_types の両方の制限が適用されるため、max_dynamic_paths の上限を超えたパスは カラムの共有データに格納されます。
データの構造を挿入先テーブルの定義に任せることもできます。JSON、Dynamic、Variant 型のカラムを持つテーブルにデータを追加する場合に便利です。