BigData / Apache Parquet Interview Questions
How does DuckDB query Parquet files and what makes it fast?
DuckDB can query Parquet files directly without loading them into a database, using SQL:
-- Query a local Parquet file SELECT region, SUM(revenue) FROM read_parquet('events.parquet') GROUP BY region; -- Glob pattern for multiple files / partitioned directory SELECT * FROM read_parquet('s3://bucket/data/**/*.parquet') WHERE date = '2026-01-01';
DuckDB is fast on Parquet for several reasons:
- Columnar execution engine — DuckDB processes data in column vectors natively, aligning perfectly with Parquet's columnar layout.
- Push-down filters — WHERE conditions are pushed into the Parquet reader, exploiting row-group statistics and Bloom filters.
- Projection pushdown — only referenced columns are read from disk.
- Parallel I/O — multiple row groups are read in parallel across CPU cores.
- Zero-copy reads — avoids deserialising data into intermediate objects.
This makes DuckDB an excellent tool for ad-hoc analytics on Parquet data lakes without a cluster.
More Related questions...