Comparar
Avro frente a ORC
Avro suele intercambiar registros definidos por un esquema. ORC almacena datos tipados por columnas para lecturas analíticas.
¿Qué formato deberías elegir?
Considera Avro para procesos por registro y ORC para sistemas analíticos compatibles que leen columnas seleccionadas.
Adecuado para Avro
Intercambiar registros con esquema definido
- Eventos y flujos con versiones de esquema
Adecuado para ORC
Guardar grandes tablas estructuradas para análisis
- Consultas que leen ciertas columnas y usan índices
Información básica
| Campo | Avro | ORC |
|---|---|---|
| Extensión | .avro | .orc |
| Tipo MIME | application/avro | application/vnd.apache.orc |
| Usos habituales | Intercambiar registros con esquema definido | Guardar grandes tablas estructuradas para análisis |
| Cómo abrir | Use una herramienta Avro para examinar esquema, campos, tipos y registros. | Use una herramienta ORC para revisar esquema, columnas, filas, compresión y valores de ejemplo. |
| Exportar o convertir | Al convertir a JSON o Parquet, compruebe nombres, tipos, nulos, tipos lógicos, número de registros y compatibilidad. | Al convertir a Parquet o CSV, compruebe tipos, nulos, fechas, decimales, particiones y filas. |
Elegir según el uso
Eventos y flujos con versiones de esquema
Intercambiar registros con esquema definido
AvroConsultas que leen ciertas columnas y usan índices
Guardar grandes tablas estructuradas para análisis
ORCPunto clave 1
Avro se centra en registros y esquemas.
Más sobre las diferenciasPunto clave 2
ORC usa almacenamiento por columnas e índices para análisis.
Más sobre las diferenciasMás sobre las diferencias
Elige según el procesamiento y las herramientas de la plataforma. Prueba esquemas y consultas representativas.
- Avro sirve para serializar e intercambiar registros.
- ORC está diseñado para lecturas analíticas por columnas.
- Importan más el motor y la carga de trabajo que una clasificación universal.
Preguntas frecuentes
¿Puede ORC sustituir sin más a Avro en eventos?
No necesariamente. Comprueba si el proceso espera mensajes de registros o archivos analíticos por columnas.