Curaduría de herramientas open source · Python-first · en español

El catálogo

Nº06 · Almacenamiento

Apache Parquet

El formato columnar que hace barata y rápida la analítica sobre archivos.

FormatoIntroData Engineer·Data Scientist

¿Qué es?

Apache Parquet es un formato de archivo columnar y binario, abierto, diseñado para almacenar datos tabulares de forma eficiente para analítica. A diferencia de un CSV —que guarda los datos fila por fila en texto— Parquet agrupa los valores por columna, añade compresión y guarda estadísticas (mínimos, máximos) de cada bloque.

El resultado: archivos mucho más pequeños y consultas mucho más rápidas. Es el formato de facto del almacenamiento analítico moderno: los data lakes, los lakehouses (Iceberg, Delta) y casi todos los motores OSS lo leen de forma nativa.

¿Para qué sirve?

  • Almacenar tablas para analítica. Es el destino natural de un pipeline de datos: pesa una fracción de lo que pesaría en CSV y se consulta más rápido.
  • Lectura selectiva (column pruning). Una query que usa 3 de 40 columnas lee solo esas 3 del disco. Sobre un CSV habría que leerlo entero.
  • Interoperar entre herramientas. pandas, Polars, DuckDB, Spark, Trino y los warehouses leen y escriben Parquet — es el lenguaje común para mover datos sin lock-in.
  • Base de los formatos de tabla. Iceberg y Delta Lake guardan sus datos como archivos Parquet por debajo, añadiendo encima transacciones y versionado.

¿Cuándo usarla / cuándo no?

Úsalo siempre que guardes datos para leerlos analíticamente: salidas de pipelines, capas intermedias de un lake, datasets que compartes entre herramientas. Casi siempre es mejor opción que CSV para volúmenes serios.

Piénsalo dos veces para:

  • Cargas transaccionales con escrituras/actualizaciones frecuentes fila a fila: una base como PostgreSQL es lo correcto. Parquet es para leer, no para mutar registro a registro.
  • Intercambio con humanos o herramientas que esperan texto (abrir en Excel, un script simple): un CSV es más universal para ese caso puntual.
  • Updates/deletes sobre el lake: si necesitas modificar datos ya escritos con garantías, sube un nivel a Iceberg o Delta (que usan Parquet por debajo).

Empieza en 1 minuto

Con DuckDB conviertes un CSV a Parquet y compruebas la diferencia, sin servidor:

pip install duckdb
import duckdb

# Escribe una tabla de ejemplo a Parquet (comprimido y columnar)
duckdb.sql("""
  COPY (SELECT * FROM (VALUES ('PE', 100), ('CL', 80)) AS t(pais, monto))
  TO 'ventas.parquet' (FORMAT parquet)
""")

# Lee solo la columna que necesitas — sin cargar el resto
print(duckdb.sql("SELECT pais FROM 'ventas.parquet'").df())

Trivia rápida — pon a prueba lo que acabas de leer.

¿Qué tanto sabes de Apache Parquet?

Documentación oficial

La fuente de verdad vive ahí. Acá orientamos; la profundidad la pones tú.

Abrir documentación oficial

Qué aprender después

Ver también

Buzón de KioskoAI

¿Falta algo en la guía de Apache Parquet?

Esto define qué se escribe después. Si algo te sirvió a medias, dilo.

Tipo de comentario
0/2000

Sin spam. El correo es opcional y solo se usa para responderte.

Nº06 · Actualizado 2026-06-25