Format Atlas

Comparar

Arrow vs ORC

Apache Arrow es una representación columnar en memoria e independiente del lenguaje para análisis e intercambio. ORC es un formato columnar de archivo que agrupa filas en stripes con columnas, índices y estadísticas para lecturas analíticas.

¿Qué formato deberías elegir?

Elija Arrow para pasar tablas eficientemente entre procesos o sistemas en memoria. Considere ORC para lagos de datos o flujos Hive persistentes que aprovechan compresión, selección de columnas y lectura por stripe. No confunda la memoria Arrow con archivos IPC.

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 ORC

Guardar grandes tablas estructuradas para análisis

  • Consultas que leen ciertas columnas y usan índices

Información básica

CampoApache Arrow IPCORC
Extensión.arrow, .feather, .arrows.orc
Tipo MIMEapplication/vnd.apache.arrow.file, application/vnd.apache.arrow.streamapplication/vnd.apache.orc
Usos habitualesIntercambiar datos tabulares por columnas entre programas y lenguajes compatibles · Transferir conjuntos de datos analíticos entre herramientas compatibles con ArrowGuardar grandes tablas estructuradas para análisis
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.Use una herramienta ORC para revisar esquema, columnas, filas, compresión y valores de ejemplo.
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 a Parquet o CSV, compruebe tipos, nulos, fechas, decimales, particiones y filas.

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

Consultas que leen ciertas columnas y usan índices

Guardar grandes tablas estructuradas para análisis

ORC

Punto clave 1

Arrow especifica arrays, buffers y tipos en memoria, y permite compartir sin copias en ciertos casos. ORC usa flujos de columnas, stripes, índices y estadísticas en el footer.

Más sobre las diferencias

Punto clave 2

Arrow se centra en representación y transporte en memoria; ORC, en almacenamiento persistente comprimido y lecturas analíticas selectivas.

Más sobre las diferencias

Más sobre las diferencias

Use Arrow para análisis y transferencias interoperables en memoria. Use ORC si el ecosistema de almacenamiento y consultas admite su estructura y aprovecha índices y selección de columnas. Mida con cargas representativas.

  • Arrow define arrays y buffers columnares en memoria. Arrow IPC serializa esa representación; ORC define otra estructura en disco con stripes y flujos de columnas.
  • ORC puede usar compresión, proyección de columnas e índices para reducir lo leído por una consulta. Arrow especifica principalmente un formato de memoria, no sustituye todos los formatos persistentes.
  • Compruebe lectores, escritores y mapeos de tipos, nulos, fechas y decimales. Compare tamaño y rendimiento con sus codecs, motores y consultas.

Preguntas frecuentes

¿Un archivo de tabla Arrow tiene el mismo formato que ORC?

No. Arrow define un formato columnar en memoria y formatos IPC distintos; ORC es un formato de archivo propio.

Más información

Referencias y especificaciones