Разница между импортом файла CSV и импортом файла json в MongoDB

Я работаю над задачей, в которой моей Java-программе необходимо выбрать CSV-файл с SFTP-сервера, затем преобразовать этот CSV-файл в JSON, а затем импортировать JSON в MONGODB. У меня есть Java-программа для преобразования CSV в JSON и другая Java-программа для импорта json в Mongodb. У меня есть несколько проблем с этими программами, когда дело касается больших наборов данных, скажем, миллиона записей. Мой вопрос: в чем разница между импортом самого файла CSV непосредственно в MongoDB и импортом json. Я имею в виду, имеет ли значение для извлечения данных, если формат отличается. Кроме того, если мне нужно включить индексирование этих данных в Mongodb для целей elasticsearch, хорошо ли иметь данные в формате json или это не имеет значения ?. Если мне нужно объединить обе мои программы в один API, где csv нужно преобразовать в json, а затем импортировать json в Mongodb, как мне убедиться, что импорт данных не начнется до тех пор, пока преобразование не будет выполнено. Спасибо..

Вы смотрели монгоимпорт? Вы можете настроить какое-то задание по расписанию, которое ищет файл на сервере sftp, и когда файл найден, используйте mongoimport для импорта файла csv в mongodb.

s7vr 24.10.2018 18:02

Хорошо, скажем, если я импортирую файл csv в mongodb, будет ли он отличаться от импорта файла json в mongo. Я имею в виду производительность, когда мы пытаемся получить данные или индексировать данные для эластичного поиска. перформанс будет таким же ?.

user3546785 24.10.2018 18:28

Это просто не сработает. Mongo хранит документы json. Никаких других типов он не поддерживает.

s7vr 24.10.2018 18:34

Итак, если я импортирую файл csv в mongodb, будет ли он сохранен как документ json ?. Потому что, когда я попытался импортировать файл csv, он сработал, и я не вижу никакой разницы в данных между импортом csv и json, по крайней мере, просто глядя на данные.

user3546785 24.10.2018 20:50

да. Не должно быть разницы в производительности, импортируете ли вы файл csv (который хранится как документ json) или вставляете как документ json напрямую при доступе к данным. Вы просто не можете хранить данные csv, так как они будут преобразованы в документ json, и все пары значений ключей csv будут одной парой значений ключа json, которая не совпадает с хранением документа json со всеми парами значений ключа.

s7vr 24.10.2018 21:12

Большое спасибо @Veeram. Теперь я понимаю разницу. Вы действительно мне очень помогли.

user3546785 24.10.2018 23:08
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
359
0

Другие вопросы по теме