Format Atlas

Vergleichen

Arrow und Zarr im Vergleich

Apache Arrow spezifiziert ein sprachunabhängiges spaltenorientiertes Speicherformat und Serialisierung zum Datenaustausch. Zarr speichert N-dimensionale Arrays als Chunks samt Metadaten.

Welches Format sollten Sie wählen?

Wählen Sie Arrow zur Weitergabe tabellarischer Daten im Speicher zwischen Analyseprozessen, gegebenenfalls ohne Kopie. Für persistente große Arrays mit selektivem Chunk-Lesen kommt Zarr infrage. Arrow IPC und das Arrow-Speicherformat hängen zusammen, sind aber nicht dasselbe.

Geeignet für Apache Arrow IPC

Spaltenorientierte Tabellendaten zwischen kompatiblen Programmen und Sprachen austauschen · Analysedatensätze zwischen Arrow-fähigen Werkzeugen übertragen

  • Typisierte Daten zwischen Arrow-Bibliotheken und Analyse-Engines bewegen
  • Im IPC-Dateiformat gezielt auf Record Batches zugreifen

Geeignet für Zarr

Große mehrdimensionale Arrays blockweise speichern und austauschen · Wissenschaftliche Daten in Cloud-Objektspeichern nutzen

  • Ausgewählte Bereiche großer Arrays effizient lesen
  • Aufgeteilte Datensätze zwischen kompatiblen Werkzeugen teilen

Grundlegende Informationen

MerkmalApache Arrow IPCZarr
Dateiendung.arrow, .feather, .arrows.zarr
MIME-Typapplication/vnd.apache.arrow.file, application/vnd.apache.arrow.stream
Häufige VerwendungSpaltenorientierte Tabellendaten zwischen kompatiblen Programmen und Sprachen austauschen · Analysedatensätze zwischen Arrow-fähigen Werkzeugen übertragenGroße mehrdimensionale Arrays blockweise speichern und austauschen · Wissenschaftliche Daten in Cloud-Objektspeichern nutzen
ÖffnenLesen Sie die Datei mit einer Apache-Arrow-Bibliothek oder einem Analysewerkzeug mit Arrow-IPC-Unterstützung. .arrow steht üblicherweise für das Dateiformat, .arrows für den Datenstrom. Prüfen Sie, welches IPC-Format das empfangende Werkzeug erwartet und welche Codecs es unterstützt. Bei Feather-Dateien sollte auch die Kompatibilität mit dem älteren Feather V1 geprüft werden.Verwenden Sie eine Zarr-fähige Bibliothek oder Analyseanwendung. Prüfen Sie Version, Arrayform, Blockraster, Codecs und Attribute. Bewahren Sie das vollständige lokale Verzeichnis oder nötige Objektschlüssel auf.
Exportieren oder konvertierenParquet kann für die Speicherung und Verteilung von Analysedaten geeignet sein, CSV für den einfachen Tabellenaustausch. Bei der Konvertierung können Arrow-spezifische Typen, verschachtelte Strukturen, Dictionary-Encoding oder Komprimierungseinstellungen verändert werden oder verloren gehen. Prüfen Sie benötigte Typen und Genauigkeit und bewahren Sie die Quelldaten auf.Prüfen Sie bei netCDF- oder HDF5-Konvertierung Dimensionen, Typen, Blöcke, Attribute und Koordinaten. Bewahren Sie das Original und validieren Sie die Werte.

Nach Einsatzzweck wählen

Typisierte Daten zwischen Arrow-Bibliotheken und Analyse-Engines bewegen

Spaltenorientierte Tabellendaten zwischen kompatiblen Programmen und Sprachen austauschen · Analysedatensätze zwischen Arrow-fähigen Werkzeugen übertragen

Apache Arrow IPC

Im IPC-Dateiformat gezielt auf Record Batches zugreifen

Spaltenorientierte Tabellendaten zwischen kompatiblen Programmen und Sprachen austauschen · Analysedatensätze zwischen Arrow-fähigen Werkzeugen übertragen

Apache Arrow IPC

Ausgewählte Bereiche großer Arrays effizient lesen

Große mehrdimensionale Arrays blockweise speichern und austauschen · Wissenschaftliche Daten in Cloud-Objektspeichern nutzen

Zarr

Aufgeteilte Datensätze zwischen kompatiblen Werkzeugen teilen

Große mehrdimensionale Arrays blockweise speichern und austauschen · Wissenschaftliche Daten in Cloud-Objektspeichern nutzen

Zarr

Wichtiger Punkt 1

Arrow definiert spaltenorientierte Speicherlayouts und Serialisierung oder Transport; Zarr definiert Array-Knoten mit Form, Typ, Chunk-Raster, Codecs und Chunk-Speicherung.

Unterschiede im Detail

Wichtiger Punkt 2

Arrow nutzt Puffer und Kind-Arrays für gemeinsamen Speicher; Zarr speichert unabhängig kodierte Chunks für Teilzugriffe.

Unterschiede im Detail

Unterschiede im Detail

Nutzen Sie Arrow für spaltenorientierten Austausch im Speicher und passende IPC-Abläufe. Nutzen Sie Zarr für persistente Chunk-Arrays. Legen Sie den Container fest und prüfen Sie Typen, Zeitstempel, Dimensionen und Zugriffsmuster.

  • Arrow beschreibt vor allem Speicherrepräsentation und Serialisierung; Zarr Array-Metadaten und separat gespeicherte Chunks.
  • Arrow-Arrays verwenden Puffer und verschachtelte Kind-Arrays; Zarr-Chunks lassen sich getrennt kodieren und lesen.
  • Geben Sie für Persistenz oder Konvertierung Arrow IPC oder ein anderes Dateiformat an und prüfen Sie Typen, Nullwerte, Zeitstempeleinheiten und Zeitzonen, Array-Form und Achsenbedeutung, Codecs und Chunk-Zugriffe.

Häufige Fragen

Ist ein Arrow-Array selbst ein persistenter Speicher wie Zarr?

Nein. Arrow ist auf Speicher und Serialisierung ausgelegt und braucht für Persistenz einen IPC- oder anderen Container; Zarr speichert Chunks und Metadaten in einem Speicher.

Mehr erfahren

Quellen und Spezifikationen