Главная¶
Описание продукта¶
SDVG (Synthetic Data Values Generator) — это инструмент для генерации синтетических данных. Он поддерживает различные форматы запуска, типы данных для генерации и форматы вывода.
Форматы запуска:
- CLI - генерация данных, создание конфигураций и их валидация через консоль;
- HTTP сервер - принимает запросы на генерацию по HTTP API и отправляет/сохраняет их в указанное место.
Типы данных:
- строки (английские, русские);
- целые и вещественные числа;
- даты со временем;
- UUID.
Типы строк:
- случайные;
- тексты;
- имена;
- фамилии;
- телефонные номера;
- шаблоны.
Каждый из типов данных можно генерировать со следующими опциями:
- указание процента/количества уникальных значений на колонку;
- упорядоченная генерация (sequence);
- указание внешнего ключа;
- идемпотентная генерация по seed числу;
- генерация значений из диапазонов с процентным распределением значений.
Форматы вывода:
- devnull;
- CSV файлы;
- Parquet файлы;
- HTTP API;
- Tarantool Column Store HTTP API.
Установка¶
Стандартная установка¶
Вы можете установить SDVG, скачав готовый бинарный файл нужной версии со страницы релизов на GitHub.
Скачайте бинарный файл для вашей операционной системы:
# Linux (x86-64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-linux-amd64
# Linux (ARM64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-linux-arm64
# macOS (x86-64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-darwin-amd64
# macOS (ARM64)
curl -Lo sdvg https://github.com/tarantool/sdvg/releases/latest/download/sdvg-darwin-arm64
Установите бинарный файл в систему:
Проверьте, что все работает правильно:
Сборка и установка из исходников¶
Для сборки и установки этого инструмента можно использовать команду go install
:
# Чтобы установить указанную версию
go install github.com/tarantool/sdvg@0.0.2
# Чтобы установить версию из ветки master
go clean -modcache
go install github.com/tarantool/sdvg@latest
Проверьте, что все работает правильно:
Быстрый старт¶
Пример модели данных, которая генерирует 10 000 строк пользователей и записывает их в CSV-файл:
output:
type: csv
models:
user:
rows_count: 10000
columns:
- name: id
type: uuid
- name: name
type: string
type_params:
logical_type: first_name
Сохраните это в файл simple_model.yml
, затем выполните:
Это создаст CSV-файл с фейковыми пользовательскими данными, такими как id
и name
:
id,name
c8a53cfd-1089-4154-9627-560fbbea2fef,Sutherlan
b5c024f8-3f6f-43d3-b021-0bb2305cc680,Hilton
5adf8218-7b53-41bb-873d-c5768ca6afa2,Craggy
...
Чтобы запустить генератор в интерактивном режиме:
Чтобы посмотреть доступные команды и аргументы:
Больше информации можно найти в руководстве по эксплуатации.
Следующие шаги¶
- Руководство по эксплуатации
- Руководство для разработчиков
- Цели и соответствие стандартам
- Список изменений
- Лицензия