Skip to content

NadushaSmith/Synthetic-data-generator-for-DEV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

💪 Synthetic-data-generator-for-DEV

✨ Генератор синтетических данных

Задание: Сгенерировать "тестовые" ситнетические данные соглассно предложенной схеме данных и сохранить в файл в формате CSV с ииспользование Pyspark с целью тестирования срипта.

📑 Структура данных:

  • id: Уникальный идентификатор.
  • name: Случайное имя. Минимальное количество букв в имени - 5.
  • email: Email, сгенерированный на основе имени. Обязательно должна быть @ и ru/com. city: Случайный город. Минимальное количество букв в городе - 7.
  • age: Случайный возраст. Минимальный возраст - 18. Максимальный возраст - 95.
  • salary: Случайная зарплата.
  • registration_date: Дата регистрации, зависящая от возраста. Тут дата регистрации очевидна не должна быть меньше, чем значение в поле age.

❗ Критерии задания:

  • Обязательно, используйте PySpark. Использование библиотеки Faker и тому подобных нежелательно.
  • Оптимизируйте выполнение приложения, если используете какие-то готовые словари.
  • Название получившегося файла должно быть в формате "текущий год-месяц-день-dev.csv". То есть каждый раз при каждодневном запуске файл будет с новым названием текущего запуска.
  • Обратите внимание, что допускаются и очень желательны значения NULL. Но не более 5 % от общего количества значений именно в этом столбце! То есть если строк в столбце 10, то количество NULL быть не должно!!!
  • Желательно отразить данную проверку в коде, но закомментировать ее. Никаких красных строк при запуске spark приложения в начале быть не должно.

💊 Инструкиця

  • введите количество строк для генерации данных
  • запустите скрипт

📌 Заключение.

Данный генератор позволяет быстро и эфективно получить синтетические данные для тестирования аналитических скриптов.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages