Parquet vs CSV: Cuándo usar cada formato

· Parquet Explorer
parquetcsvcomparacion

CSV lleva décadas siendo el formato universal para intercambiar datos. Es simple, legible y lo abre cualquier programa. Pero cuando los datasets crecen y las consultas se complican, sus limitaciones se hacen evidentes. Ahí es donde entra Apache Parquet.

En este artículo comparamos ambos formatos a fondo para que puedas decidir cuál usar en cada situación — y cómo moverte entre ambos sin fricción.

La diferencia fundamental: filas vs. columnas

CSV almacena los datos fila por fila. Cada línea del archivo es un registro completo. Parquet almacena los datos columna por columna. Todos los valores de una misma columna están agrupados físicamente en el archivo.

Esta diferencia parece menor, pero tiene consecuencias enormes en rendimiento, tamaño y capacidad de consulta.

Comparación directa

1. Tamaño en disco

Aquí Parquet gana por goleada. Un CSV de 1 GB puede quedar entre 100 y 300 MB en Parquet, dependiendo del tipo de datos y la compresión elegida.

¿Por qué? Dos razones principales:

  • Compresión más eficiente: al agrupar valores del mismo tipo, los algoritmos de compresión (Snappy, ZSTD, GZIP) encuentran muchos más patrones.
  • Codificación inteligente: Parquet usa técnicas como dictionary encoding para columnas con pocos valores únicos. Si tienes una columna país con 30 valores posibles en 10 millones de filas, Parquet guarda un diccionario de 30 entradas y solo almacena índices.

CSV puede comprimirse con gzip, claro, pero pierdes la capacidad de leerlo parcialmente — tienes que descomprimir todo.

2. Velocidad de lectura

Si necesitas leer todas las columnas y todas las filas, la diferencia no es tan dramática. Pero en escenarios analíticos reales, casi nunca necesitas todo.

Ejemplo concreto: tienes un dataset de ventas con 40 columnas y 50 millones de filas. Quieres calcular las ventas totales por mes.

  • Con CSV: el motor tiene que leer las 40 columnas de cada fila. No hay forma de saltarse columnas porque están intercaladas en cada línea.
  • Con Parquet: el motor lee solo las columnas fecha y monto. Las otras 38 columnas nunca se tocan. Además, puede usar las estadísticas del footer para filtrar row groups enteros.

En pruebas reales, esta diferencia puede ser de 10x a 100x en velocidad de consulta, dependiendo del ratio de columnas seleccionadas vs. totales.

3. Tipos de dato

Este es un punto donde CSV tiene una debilidad estructural: todo es texto. Un CSV no distingue entre el número 42, la cadena "42" y la fecha 2026-01-42 (que ni siquiera es válida). La interpretación depende del programa que lo lea, y ahí empiezan los problemas:

  • ¿El separador decimal es punto o coma?
  • ¿Las fechas están en formato MM/DD/YYYY o DD/MM/YYYY?
  • ¿Los booleanos son true/false, 1/0, sí/no?

Parquet resuelve esto de raíz. Cada columna tiene un tipo de dato definido en el esquema: INT32, INT64, DOUBLE, BOOLEAN, TIMESTAMP, STRING, e incluso tipos anidados como STRUCT, LIST y MAP. No hay ambigüedad.

4. Valores nulos y esquema

En CSV no hay convención universal para nulos (NULL, NA, N/A, celda vacía…) ni esquema formal. La primera fila suele contener los nombres de columna, pero nada obliga a ello.

Parquet maneja nulos de forma nativa (ocupan prácticamente cero espacio), incluye su esquema completo en la metadata y soporta evolución de esquema: puedes agregar columnas sin romper compatibilidad.

6. Herramientas y ecosistema

CSV lo abre literalmente todo: Excel, Google Sheets, editores de texto, cualquier lenguaje de programación. Su universalidad es su mayor fortaleza.

Parquet requiere herramientas especializadas, pero el argumento de que “es difícil de abrir” ya no se sostiene. La lista de herramientas es amplia: Spark, DuckDB, Pandas, Polars, BigQuery, Athena, Snowflake, Power BI, y muchas más.

Y si necesitas trabajar con Parquet sin instalar nada, Parquet Explorer te da una plataforma completa desde el navegador: consultas SQL con DuckDB, esquema con tipos anidados, metadata detallada, perfilado de datos con histogramas y detección de tipos semánticos, edición inline, y creación de archivos desde cero. Todo 100% local.

Tabla resumen

CaracterísticaCSVParquet
FormatoTexto por filasBinario columnar
Tamaño típicoGrande3-10x más pequeño
Velocidad de lectura analíticaLentaMuy rápida
Tipos de datoNo (todo texto)Sí (esquema tipado)
Legible por humanosNo (pero herramientas como Parquet Explorer lo resuelven)
Compresión parcialNoSí (por columna)
Valores nulosAmbiguoNativo
EsquemaImplícitoExplícito
EditableCon editor de textoCon herramientas especializadas
Soporte universalMuy altoAlto (ecosistema datos)

¿Cuándo usar CSV?

CSV sigue siendo la mejor opción en estos escenarios:

  • Intercambio con personas no técnicas: si necesitas que alguien abra el archivo en Excel o Google Sheets para revisarlo.
  • Datasets pequeños: si son unas pocas miles de filas, la diferencia de rendimiento es irrelevante.
  • Debugging rápido: poder abrir un archivo en un editor de texto y ver qué contiene tiene un valor enorme.
  • Integración con sistemas legacy: muchos sistemas antiguos solo exportan o importan CSV.

¿Cuándo usar Parquet?

Parquet es la mejor opción cuando:

  • Haces análisis de datos: cualquier workflow analítico se beneficia del formato columnar.
  • Tienes datasets de tamaño medio a grande: a partir de unos pocos MB, las ventajas de compresión y lectura selectiva se notan.
  • Construyes pipelines de datos: ETL, ELT, data lakes. Parquet es el estándar.
  • Necesitas preservar tipos: evitar los problemas de interpretación de CSV.
  • Almacenamiento o transferencia son un factor: reducir el tamaño 5-10x ahorra costos de storage y tiempo de transferencia.
  • Consultas SQL sobre archivos: herramientas como DuckDB y Athena están optimizadas para leer Parquet.

La estrategia práctica: usa ambos

En la mayoría de los proyectos reales, la respuesta no es “uno u otro” sino “cada uno para lo suyo”:

  1. Ingesta: recibes datos en CSV (porque el proveedor los manda así).
  2. Conversión: transformas a Parquet — con Parquet Explorer puedes convertir CSV, TSV, JSON y JSONL eligiendo la compresión (Snappy, Zstd, Gzip), directamente en el navegador.
  3. Análisis: consultas SQL, perfilado de datos, inspección de calidad.
  4. Almacenamiento: guardas en Parquet en tu data lake.
  5. Exportación: cuando alguien necesita una muestra, exportas a CSV o JSON con un clic.

Todo este flujo lo puedes hacer desde Parquet Explorer sin instalar nada ni subir datos a ningún servidor.

Conclusión

CSV es simple y universal. Parquet es eficiente y robusto. No se trata de que uno sea “mejor” que el otro — se trata de usar cada formato donde tiene sentido.

Si trabajas con datos analíticos, Parquet debería ser tu formato por defecto para almacenamiento y procesamiento. CSV seguirá teniendo su lugar como formato de intercambio y para datasets pequeños que necesitas inspeccionar rápidamente.

La buena noticia es que la barrera entre ambos mundos prácticamente desapareció. Con herramientas como Parquet Explorer que te permiten convertir, consultar, perfilar, editar y exportar — todo desde el navegador — trabajar con Parquet es tan accesible como abrir un CSV.