Простой однородный набор данных
rand() % 10000: равномерное распределение 10 тыс. пользователейarrayElement(...): случайным образом выбирает один из трёх типов событий- Временные метки распределены за предыдущие 24 часа
Экспоненциальное распределение
- Равномерно распределённые временные метки за недавний период
randExponential(1/10)— большинство значений около 0, с минимумом 15 за счёт смещения ([ClickHouse][1], [ClickHouse][2], [Atlantic.Net][3], [GitHub][4])
События, распределённые по времени (Пуассон)
- Пик событий приходится примерно на полдень, а отклонение распределено по Пуассону
Нормальное распределение, меняющееся со временем
usageследует суточной синусоиде + случайная составляющая- Значения ограничены диапазоном [0,100]
Категориальные и вложенные данные
- Случайная длина массива — от 1 до 3
- Три оценки на пользователя для каждого интереса
Создание случайных таблиц
generateRandomStructure особенно полезна в сочетании с движком таблицы generateRandom для тестирования, бенчмаркинга или создания тестовых данных с произвольной схемой.
Для начала просто посмотрим, как выглядит случайная структура с помощью функции generateRandomStructure:
DESCRIBE, чтобы посмотреть, что у нас получилось: