NDJSON
NDJSON (JSON délimité par les sauts de ligne) place un objet JSON indépendant par ligne, adapté au traitement en flux de grands jeux de données.
Objectif
Fournir un format JSON traitable en flux sans charger un tableau entier en mémoire.
Mécanisme
Chaque ligne est une valeur JSON complète séparée par des sauts de ligne, sans enveloppe de tableau externe. Un analyseur lit ligne par ligne, permettant le streaming. Courant pour les journaux, les exports de bases de données et les flux d'API.
Cas d’usage
- API bulk d'Elasticsearch
- Export et import de bases de données
- Traitement de flux de journaux
- Format intermédiaire pour les pipelines de big data
Exemples
- entrée
{"a":1} {"a":2}OutputTwo JSON objects, one per lineNewline-delimited
Erreurs courantes
- A string containing a literal newline breaks the line format
- Newlines inside JSON strings are already escaped as \n
Termes associés
JSON
JSON (JavaScript Object Notation) est un format léger d'échange de données fondé sur les littéraux d'objets JavaScript, utilisant paires clé-valeur et tableaux. GLOSSAIRE
JSONL
JSONL (JSON Lines) équivaut à NDJSON : un objet JSON par ligne, un autre nom pour le même format. GLOSSAIRE
CSV
CSV (comma-separated values) est un format de données tabulaires séparant les champs par des virgules ; RFC 4180 définit la norme et il est largement utilisé pour l'import et l'export de données. GLOSSAIRE