Skip to main content
GenerateRandom テーブルエンジンは、指定したテーブルスキーマに基づいてランダムデータを生成します。 使用例:
  • テストで再現可能な大規模テーブルを生成するために使用します。
  • ファジングテスト用のランダムな入力を生成します。

ClickHouseサーバーでの使用方法

max_array_length および max_string_length パラメータは、生成されるデータにおけるすべての Array カラムまたは Map カラムの最大長、および文字列の最大長をそれぞれ指定します。 SETTINGS 句は、Nullable、Variant、Dynamic、JSON の値の生成方法を制御します。 null_ratio (デフォルト 0.0625) は、値が NULL になる確率であり、同時に JSON のキーが行に含まれない基本確率でもあります。ただし、一部のスパースなキーは、これより数倍高い頻度で 欠落します。max_json_depth (デフォルト 3) は生成される JSON オブジェクトのネストの深さの上限を、 max_json_keys_per_object (デフォルト 8) はオブジェクトの 1 階層あたりに生成されるキー数の上限を指定します。 generateRandom テーブル関数でも 同じ設定を使用できます。 Generate テーブルエンジンがサポートするのは SELECT クエリのみです。 AggregateFunction、Interval、Nothing、QBit を除き、テーブルに格納可能なすべての DataTypes を サポートしています。

例

1. generate_engine_table テーブルを作成します:
2. データにクエリを実行します:

実装の詳細

  • サポート対象外:
    • ALTER
    • SELECT ... SAMPLE
    • INSERT
    • インデックス
    • レプリケーション