Генерация большого случайного набора данных JSON для ElasticSearch - PullRequest
0 голосов
/ 25 марта 2020

В настоящее время мне необходимо сгенерировать тестовые данные на несколько сотен ГБ для индекса ElasticSearch для нагрузочного тестирования. Это означает сотни миллионов "документов".

Формат, который мне нужно сгенерировать, выглядит следующим образом:

{
field 1 : <ip>
field 2 : <uuid>
field 3 : <date>
field 4: <json-array of string>
...
...
}

для примерно 40-50 полей на каждый c. Сгенерированные данные должны соответствовать шаблону индекса для указанного c индекса, который я должен проверить.

Хорошо, так звучит прямо, верно? Обычный генератор JSON наборов данных, который может обрабатывать несколько сотен миллионов Json документов, - это путь к go, при условии, что я могу найти тот, который поддерживает формат.

Проблема заключается в том, что ES Bulk upload API требуется загрузка должна быть предоставлена ​​следующим образом. Для КАЖДОГО do c сначала «команда json», содержащая метаданные для do c, затем сама json do c:

POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }

Одно бесплатное решение похоже, он поддерживает генерацию огромных наборов данных, поддерживает только генерацию Json в едином формате. Это означает, что я не могу заставить его сгенерировать команду, за которой следует do c.

Так что я попытался сгенерировать, используя свой собственный скрипт bash на основе некоторых уже существующих данных (я рандомизирую do c -id и некоторые другие поля) для генерации данных. Но проблема в том, что мне нужно запускать мой скрипт bash параллельно до 100 раз за раз, чтобы своевременно генерировать данные. И / dev / urandom в bash является «конфликтующим», так как он генерирует случайные данные -same- для разных сценариев при параллельном запуске, когда нужно, чтобы do c -id был уникальным.

Это становится длинным, но любая помощь для

1) Бесплатное решение, которое может генерировать большие наборы данных в JSON и в нужном мне формате

ИЛИ

2) Будет приветствоваться решение для bash процесса случайной генерации при параллельном запуске

. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...