Задать вопрос
RichAsHell
@RichAsHell
Работаю

На чём создать прогу для обработки больших данных?

Вот так вижу прилку, подскажите на чём лучше писать:
Задача приложения - нормализовать множество (100gb+) различных данных в разных блокнотах к одному формату (csv) с выбранными пользователем колонками и данными, чтобы легко импортировать эти данные в Postgres. Мы будем импортировать в програму .txt, .csv, .json. Мы показываем превью из 10 или 100 строк, пытаемся распознать заголовки импортируемого файла, если их нет, просим ввести заголовки. Мы также показываем предварительный просмотр (10-100 строк) того, что будет экспортировано. Экспортируйте обработанный csv.
  • Вопрос задан
  • 254 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 4
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Лучше для чего именно? В общем случае - на том, что знаете или что интересно было бы изучить.
Ответ написан
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
100gb - это не так и много. Даже не надо кластера, чтобы это обрабатывать.

Быстрее, конечно, работать будет на C++/rust каком-нибудь, но обработка csv может быть легче реализованна на питоне.
Ответ написан
@rPman
Смутно помню десятилетия назад у меня была задача приведения данных из разных структурно форматов (миниатрюные базы данных из нескольких таблиц с какими то полями, структура была простой, что то типа дерева - объект и вокруг него описания, но списки полей, отсутствие единых справочников и т.п. превращали процесс в ад), так вот, утилита для причесывания всего этого легче всего писалась на microsoft visual studio с использованием WinForms, на нем было невероятно просто писать простой интерфейс к базе данных, особенно когда у тебя много разных простых но уникальных формочек, большая часть работы была мышевозекательной, а программирование оставалось для граничных ситуаций, обработки ошибок и собственно аналитика.

В последствии я краем глаза поглядываю на то что предлагается разработчикам для решения такого типа задач, и мне не нравится тенденция к усложнению. Если говорить конкретно про microsoft visual studio, то WinForms заменил WPF, мне показалось это не так удобно, сложнее.. может писать действительно сложные вещи с долгой поддержкой на современных инструментах было бы правильнее, но когда у тебя проект здесь и сейчас и через пару суток ты его уничтожишь за ненадобностью (данные обработал, конвертировал и забыл), альтернативы я не вижу.
Ответ написан
2ord
@2ord
Пиши на чём знаешь. Для предобработки данных проще всего будет применять всякие преобразования данных в SQLite. К ней есть адаптеры на множестве ЯП.
Мы будем импортировать в програму .txt, .csv, .json.
Эта СУБД работает с ними. Можно использовать как временные таблицы в памяти, так и с файлом на "диске". Закончил с преобразованиями данных - вытер промежуточный файл.
А если же Postgres является прямой зависимостью, то прямо используй её, аналогичным образом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 85 000 до 100 000 ₽
Wanted Москва
от 60 000 до 120 000 ₽
Wanted Санкт-Петербург
До 200 000 ₽