Что такое файл NDJSON?
NDJSON — JSON Lines
Что это такое?
NDJSON хранит по одному полноценному объекту JSON в каждой строке, без обрамляющих скобок и без запятых между строками. Каждую строку можно читать независимо от остальных.
Это решающее преимущество при работе с большими объёмами данных: обычный JSON-файл нужно полностью загрузить в память, прежде чем с ним можно будет работать. NDJSON же читается построчно — так можно обработать файл на 50 ГБ на машине, где всего 8 ГБ оперативной памяти.
История и происхождение
Этот подход утвердился сам собой вместе с ростом популярности потоковой обработки данных, когда объёмы файлов сделали полную загрузку в память неосуществимой.
Он стал фактическим стандартом для журналов приложений и выгрузок из объёмных баз данных.
Чем он удобен
Формат обрабатывается потоково, строка за строкой, независимо от общего объёма файла.
Повреждение одной строки не делает непригодным весь остальной файл — в отличие от обычного JSON, где всего одна лишняя запятая делает файл целиком нечитаемым.
Ограничения и недостатки
Строго говоря, это не валидный JSON: обычный парсер его не примет.
У формата нет официальной спецификации, из-за чего существуют разные его варианты.
Советы по использованию
NDJSON хорошо подходит для журналов, массовых выгрузок и потоков данных.
Чтобы открыть его в табличном редакторе, конвертируйте файл в CSV — при условии, что структура данных плоская.
Конвертируйте ваш NDJSON за секунды на наших защищённых серверах во Франции.
Конвертировать NDJSON