Data stored column-by-column. Reading 1 column skips all others.
Parquet - Details
Orientation
columnar
Schema Evolution
Full
Column Pruning
Supported
Splittable
Yes (HDFS)
Compression (snappy)
3.8x
Read Speed
5/5
Best for: Analytics, ML training, data lakes
File Size - 1 GB Dataset (analytics, snappy)
Parquet
54 MB
ORC
46 MB
Avro
149 MB
JSON
405 MB
CSV
417 MB
Parquet/ORC columnar formats achieve 3-5x better compression on analytics workloads.
Storage Formats
Dataset Type
Compression
Compression Ratio
3.8x
Parquet + snappy
Columnar formats (Parquet, ORC) skip irrelevant columns at read time - critical for wide tables with 100+ columns. Row formats (Avro, CSV) are faster to write but slower for analytical reads.
Choosing the right storage format is one of the most consequential decisions in a data engineering system. Columnar formats like Parquet and ORC achieve 10–50x compression over CSV by storing values of the same column together, enabling predicate pushdown and projection pruning. Row-oriented formats like Avro excel at write-heavy workloads and schema evolution. This demo lets you compare all major formats on the metrics that matter in production.
Parquet: columnar, Snappy/Zstd compression, ideal for analytics queries that read few columns
ORC: columnar like Parquet, optimized for Hive/Spark, built-in bloom filters and indexes
Avro: row-oriented, compact binary, best-in-class schema evolution with a JSON schema registry
CSV: human-readable, no compression, no types - avoid in production pipelines
Columnar formats reduce I/O by 5–20x for analytical queries that only touch a few columns
Schema evolution: Avro handles field additions/removals; Parquet is more rigid but supports nullable fields
Part of the EngineersOfAI Interactive 3D - free interactive visualizations covering every major concept in machine learning and AI engineering. Hover any element for a plain-English explanation. No code required.