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
| Campo | Apache Arrow IPC | ORC |
|---|---|---|
| Extensión | .arrow, .feather, .arrows | .orc |
| Tipo MIME | application/vnd.apache.arrow.file, application/vnd.apache.arrow.stream | application/vnd.apache.orc |
| Usos habituales | Intercambiar datos tabulares por columnas entre programas y lenguajes compatibles · Transferir conjuntos de datos analíticos entre herramientas compatibles con Arrow | Guardar grandes tablas estructuradas para análisis |
| Cómo abrir | Lé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 convertir | Parquet 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 IPCAcceder 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 IPCConsultas que leen ciertas columnas y usan índices
Guardar grandes tablas estructuradas para análisis
ORCPunto 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 diferenciasPunto 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 diferenciasMá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.