Format Atlas

Comparar

Arrow frente a Zarr

Apache Arrow especifica un formato columnar en memoria independiente del lenguaje y su serialización para intercambiar datos. Zarr guarda matrices N-dimensionales como fragmentos y metadatos en un almacén.

¿Qué formato deberías elegir?

Elige Arrow para pasar datos tabulares entre procesos analíticos en memoria, incluido el uso sin copia cuando sea compatible. Considera Zarr para guardar matrices grandes y leer solo ciertos fragmentos. Arrow IPC y su formato en memoria son conceptos relacionados, no idénticos.

Adecuado para Apache Arrow IPC

Intercambiar datos tabulares por columnas entre programas y lenguajes compatibles · Transferir conjuntos de datos analíticos entre herramientas compatibles con Arrow

  • Mover datos tipados entre bibliotecas Arrow y motores analíticos
  • Acceder aleatoriamente a lotes de registros en el formato de archivo IPC

Adecuado para Zarr

Guardar matrices multidimensionales grandes por bloques · Usar datos científicos en almacenamiento de objetos en la nube

  • Leer regiones seleccionadas de matrices
  • Compartir datos fragmentados entre herramientas compatibles

Información básica

CampoApache Arrow IPCZarr
Extensión.arrow, .feather, .arrows.zarr
Tipo MIMEapplication/vnd.apache.arrow.file, application/vnd.apache.arrow.stream
Usos habitualesIntercambiar datos tabulares por columnas entre programas y lenguajes compatibles · Transferir conjuntos de datos analíticos entre herramientas compatibles con ArrowGuardar matrices multidimensionales grandes por bloques · Usar datos científicos en almacenamiento de objetos en la nube
Cómo abrirLéalo con una biblioteca de Apache Arrow o una herramienta analítica compatible con Arrow IPC. La extensión .arrow suele indicar el formato de archivo y .arrows el formato de flujo, pero confirme qué espera la herramienta receptora y qué códecs admite. En archivos Feather, compruebe la compatibilidad con la antigua versión Feather V1.Usa una biblioteca o herramienta compatible con Zarr. Revisa versión, forma, bloques, codecs y atributos. Conserva todo el directorio local o las claves necesarias y consulta la documentación del creador.
Exportar o convertirParquet puede servir para almacenar y distribuir datos analíticos; CSV, para intercambiar tablas sencillas. La conversión puede cambiar o descartar tipos propios de Arrow, estructuras anidadas, codificación de diccionario o ajustes de compresión. Compruebe los tipos y la precisión necesarios y conserve los datos de origen.Al convertir desde netCDF o HDF5, comprueba dimensiones, tipos, bloques, atributos y coordenadas. Conserva el original y valida los valores tras la conversión.

Elegir según el uso

Mover datos tipados entre bibliotecas Arrow y motores analíticos

Intercambiar datos tabulares por columnas entre programas y lenguajes compatibles · Transferir conjuntos de datos analíticos entre herramientas compatibles con Arrow

Apache Arrow IPC

Acceder aleatoriamente a lotes de registros en el formato de archivo IPC

Intercambiar datos tabulares por columnas entre programas y lenguajes compatibles · Transferir conjuntos de datos analíticos entre herramientas compatibles con Arrow

Apache Arrow IPC

Leer regiones seleccionadas de matrices

Guardar matrices multidimensionales grandes por bloques · Usar datos científicos en almacenamiento de objetos en la nube

Zarr

Compartir datos fragmentados entre herramientas compatibles

Guardar matrices multidimensionales grandes por bloques · Usar datos científicos en almacenamiento de objetos en la nube

Zarr

Punto clave 1

Arrow define estructuras columnares en memoria y serialización o transporte; Zarr define nodos de matriz, metadatos, rejilla, códecs y almacenamiento de fragmentos.

Más sobre las diferencias

Punto clave 2

Arrow usa búferes y matrices hijas adecuadas para compartir memoria; Zarr guarda fragmentos codificados de forma independiente para acceso parcial.

Más sobre las diferencias

Más sobre las diferencias

Usa Arrow para intercambio columnar en memoria y flujos IPC compatibles. Usa Zarr para matrices fragmentadas persistentes. Elige explícitamente el contenedor y valida tipos, tiempos, dimensiones y patrones de acceso.

  • Arrow se centra en representación en memoria y serialización; Zarr describe metadatos de matrices y fragmentos almacenados por separado.
  • Las matrices Arrow usan búferes y estructuras anidadas; los fragmentos Zarr pueden codificarse y leerse por separado.
  • Para persistir o convertir, especifica Arrow IPC u otro formato de archivo y revisa tipos, nulos, unidades y zonas horarias de tiempos, forma y significado de ejes, códecs y acceso por fragmentos.

Preguntas frecuentes

¿Un array Arrow es por sí mismo un almacén persistente como Zarr?

No. Arrow se centra en memoria y serialización; la persistencia requiere un contenedor IPC u otro, mientras Zarr guarda fragmentos y metadatos en un almacén.

Más información

Referencias y especificaciones