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) — количество генерируемых ключей на одном уровне объекта. Табличная функция generateRandom принимает те же настройки. Движок таблицы Generate поддерживает только запросы SELECT. Он поддерживает все типы данных, которые могут храниться в таблице, кроме AggregateFunction, Interval, Nothing и QBit.

Пример

1. Создайте таблицу generate_engine_table:
2. Выполните запрос к данным:

Детали реализации

  • Не поддерживаются:
    • ALTER
    • SELECT ... SAMPLE
    • INSERT
    • Индексы
    • Репликация