JSON、Dynamic、Variant、BFloat16、Time、Time64を含め、テーブルに格納できるすべてのデータ型をサポートしています。
AggregateFunction、Interval、Nothing、QBit型はサポートされていません。
構文
引数
設定
SETTINGS は呼び出しの最後の引数で、Nullable、Variant、Dynamic、JSON の値の生成方法を制御します。
SETTINGS のみを引数として指定することもできます。この場合、挿入先テーブルの構造が維持されます。ҩ
戻り値
指定したスキーマを持つテーブルオブジェクト。使用例
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 型のカラムを持つテーブルにデータを追加する場合に便利です。