Format Atlas

Vergleichen

JSON Lines oder Avro

JSON Lines speichert einen JSON-Wert pro UTF-8-Zeile zur Verarbeitung einzelner Datensätze. Avro codiert typisierte Datensätze anhand eines Schreibschemas und kann Schema-Metadaten in Datenblöcken speichern.

Welches Format sollten Sie wählen?

Nutzen Sie JSON Lines für lesbare Ereignisse, Textwerkzeuge und zeilenweises Streaming. Avro eignet sich für typisierte Datensätze und verwaltete Schemaauflösung.

Geeignet für JSON Lines

Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen

  • Datensätze schrittweise lesen und schreiben
  • Textdaten mit gängigen Werkzeugen ergänzen oder zusammenführen

Geeignet für Avro

Datensätze mit definiertem Schema austauschen

  • Ereignisse und Datenflüsse mit Schemaversionen

Grundlegende Informationen

MerkmalJSON LinesAvro
Dateiendung.jsonl, .ndjson.avro
MIME-Typapplication/jsonlapplication/avro
Häufige VerwendungProtokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschenDatensätze mit definiertem Schema austauschen
ÖffnenÖffnen Sie die Datei in einem Texteditor oder einem JSON-Lines-fähigen Werkzeug. Wenn Sie jede Zeile einzeln als JSON prüfen, finden Sie fehlerhafte Datensätze leichter.Prüfen Sie Schema, Felder, Typen und Datensätze mit einem Avro-Werkzeug.
Exportieren oder konvertierenFür ein JSON-Array fassen Sie die Zeilen als Array-Elemente zusammen. Beim Rückweg schreiben Sie jeden Wert in eine eigene Zeile. Bei großen Dateien ist der Speicherbedarf zu beachten.Bei Umwandlung in JSON oder Parquet prüfen Sie Feldnamen, Typen, Nullwerte, logische Typen, Anzahl und Schema-Kompatibilität.

Nach Einsatzzweck wählen

Datensätze schrittweise lesen und schreiben

Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen

JSON Lines

Textdaten mit gängigen Werkzeugen ergänzen oder zusammenführen

Protokolle und Datensätze zeilenweise verarbeiten · JSON-Datensätze als Stream austauschen

JSON Lines

Ereignisse und Datenflüsse mit Schemaversionen

Datensätze mit definiertem Schema austauschen

Avro

Wichtiger Punkt 1

Ein JSON-Lines-Leser kann jeden JSON-Wert ohne separates Schema parsen; ein Avro-Binärleser benötigt das Schreibschema.

Unterschiede im Detail

Wichtiger Punkt 2

Vollständige JSON-Lines anzuhängen ist ein Textvorgang; ein Avro-Container muss Blöcke und Synchronmarkierungen korrekt erhalten.

Unterschiede im Detail

Unterschiede im Detail

Messen Sie mit echten Daten und Lesern; kein Format ist immer kleiner oder schneller.

  • JSON Lines enthält unabhängige JSON-Werte je Zeile; Avro-Datensätze folgen einem deklarierten Schema.
  • Avro-Containerdateien speichern Schreibschema-Metadaten mit Datenblöcken; JSON Lines ist UTF-8-Text.
  • Leser können unterstützte Avro-Schemaänderungen auflösen; JSON Lines überlässt Feld- und Typkonventionen der Anwendung.

Häufige Fragen

Ist JSON Lines dasselbe wie Avros JSON-Codierung?

Nein. JSON Lines trennt gewöhnliche JSON-Werte durch Zeilen. Avros JSON-Codierung folgt weiterhin Avro-Schema- und Union-Regeln.

Mehr erfahren

Quellen und Spezifikationen