Hacker ApprovedDepartments

Apache Parquet

Hacker Approved

The most recommended of 5 file formats

Widely supported columnar file format that compresses well and lets tools read only needed columns. Critics say it is hard to append to and has heavy dependencies.

Widely supported columnar file format that compresses well and lets tools read only needed columns. Critics say it is hard to append to and has heavy dependencies.

57 people gave an opinion

recommend it
40
criticize it
17
approval share
70%
Each figure is one person. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 40 people recommend itNeeds 10 or more, met.
  • 2.4 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Columnar layout compresses well

    “I can get the zstd parquet to be up to 10x (or more) smaller than an equivalent Postgres table”

    Comment from 19 Jun 2026 in “DuckDB Internals: Why Is DuckDB Fast? (Part 1)”

    “with their built-in columnar compression will result in more performance AND space savings”

    Comment from 7 Sep 2026 in “bzip3”

    “You’ll see vastly smaller file sizes (even more so if you use zstd compression)”

    Comment from 19 Jun 2026 in “DuckDB Internals: Why Is DuckDB Fast? (Part 1)”
  • Reads only the columns needed

    “not only do you get seekable data, you can fetch only the columns you want too”

    Comment from 31 Dec 2025 in “Show HN: Hacker Book – All the HN Belong to You 2006 – 2025”

    “DuckDB can do all manner of nifty optimizations while reading its own native format or Parquet”

    Comment from 23 Jun 2026 in “F3”
  • Strong support across tools

    “parquet has fantastic support and is still a pretty good choice”

    Comment from 13 Feb 2026 in “Apache Arrow is 10 years old”

    “Parquet, Iceberg, and other open formats seem good”

    Comment from 31 Dec 2025 in “Readings in Database Systems (5th Edition)”

    “I think parquet and arrow are great formats”

    Comment from 6 Mar 2026 in “Nobody ever got fired for using a struct”
  • Good for analytics workloads

    “if you are just doing pure analytics and nothing else, Parquet will probably continue to do the job for you just fine”

    Comment from 23 Jun 2026 in “F3”

    “Parquet might win for table scans depending on the underlying storage medium”

    Comment from 7 Mar 2026 in “Nobody ever got fired for using a struct”

What people warn about

Each mark is one comment

  • Hard to append or update

    “Creating the Parquet data is a pain since it's not append-able”

    Comment from 12 Feb 2026 in “Apache Arrow is 10 years old”

    “but with parquet you need large row group batches. Worst case (low log volumes and a time-based flush) you’d end up with loads of tiny row groups.”

    Comment from 13 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”

    “you really want to avoid re-writing all 122880 rows of a row group every time a single insert happens”

    Comment from 13 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”
  • Heavy dependency footprint

    “The heavy dependency footprint of parquet-java was the main driver for kicking off this project.”

    Comment from 1 Mar 2026 in “Hardwood: A New Parser for Apache Parquet”

    “extremely unpleasant to use with its massive fan-out of dependencies”

    Comment from 1 Mar 2026 in “Hardwood: A New Parser for Apache Parquet”

    “Pulling in Parquet and all of its dependencies is utter overkill.”

    Comment from 4 Mar 2026 in “Moldova broke our data pipeline”
  • Does not fix encoding problems

    “while Parquet fixes the "delimiter problem", it doesn't fix the "encoding problem"”

    Comment from 4 Mar 2026 in “Moldova broke our data pipeline”

    “A big problem with parquet, which this aims to replace, is that it's hard to add new encodings”

    Comment from 23 Jun 2026 in “F3”
  • Not the best at compression

    “Parquet is also 13 years old and not the GOAT at compression”

    Comment from 7 Oct 2026 in “Show HN: Parseable, an open observability datalake, handles 100M time-series/min”

    “Plus isn't the least wasteful format”

    Comment from 18 Mar 2026 in “Show HN: Hacker News archive (47M+ items, 11.6GB) as Parquet, updated every 5m”

Other file formats people recommend

The four most recommended other file formats, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Apache Parquet compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Apache ParquetThis page401770%12—Approved
Gwtar10759%1——
Safetensors7278%4——
JSON Canvas7370%2——
F3 file format6555%2——
See all 5 file formats, ranked

What people said

40 of the 64 comments that mention it, newest first. Each links to the original comment.

“Parquet is also 13 years old and not the GOAT at compression”

CriticizesComment from 7 Oct 2026 in “Show HN: Parseable, an open observability datalake, handles 100M time-series/min”

“it's a great combination for data exploration tools that run in the browser”

RecommendsComment from 9 Sep 2026 in “Planet Labs' open satellite feed”

“with their built-in columnar compression will result in more performance AND space savings”

RecommendsComment from 7 Sep 2026 in “bzip3”

“Wouldn't Avro or Parquet be solid choices for something like this”

RecommendsComment from 31 Aug 2026 in “Agent memory as a file format”

“An LSM-style layer over Parquet gets all of this fairly naturally”

RecommendsComment from 14 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”

“but with parquet you need large row group batches. Worst case (low log volumes and a time-based flush) you’d end up with loads of tiny row groups.”

CriticizesComment from 13 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”

“Columnar, compression, fast, succinct. All good things.”

RecommendsComment from 13 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”

“you really want to avoid re-writing all 122880 rows of a row group every time a single insert happens”

CriticizesComment from 13 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”

“Sadly Parquet is useless for the append-only layer.”

CriticizesComment from 13 Aug 2026 in “Single log line is 49KB+ (ext4) / 110KB+ (btrfs) of systemd-journald disk writes”

“if you are just doing pure analytics and nothing else, Parquet will probably continue to do the job for you just fine”

RecommendsComment from 23 Jun 2026 in “F3”

“my main gripe with parquet (single table per file) is not even addressed”

MixedComment from 23 Jun 2026 in “F3”

“DuckDB can do all manner of nifty optimizations while reading its own native format or Parquet”

RecommendsComment from 23 Jun 2026 in “F3”

“a dead-simple, heavily documented byte specification like Parquet”

RecommendsComment from 23 Jun 2026 in “F3”

“A big problem with parquet, which this aims to replace, is that it's hard to add new encodings”

CriticizesComment from 23 Jun 2026 in “F3”

“I can get the zstd parquet to be up to 10x (or more) smaller than an equivalent Postgres table”

RecommendsComment from 19 Jun 2026 in “DuckDB Internals: Why Is DuckDB Fast? (Part 1)”

“You’ll see vastly smaller file sizes (even more so if you use zstd compression)”

RecommendsComment from 19 Jun 2026 in “DuckDB Internals: Why Is DuckDB Fast? (Part 1)”

“only compressing the parquets in LZ4 and getting a fuck ton of more space savings”

RecommendsComment from 15 Jun 2026 in “How TimescaleDB compresses time-series data”

“parquet really helped with interop”

RecommendsComment from 4 Jun 2026 in “Learn SQL Once, Use It for 30 Years”

“It should result in a smaller file size due to columnar compression.”

RecommendsComment from 7 May 2026 in “SQLite Is a Library of Congress Recommended Storage Format”

“there really aren't any good pure Swift libraries for Arrow or Parquet”

MixedComment from 26 Mar 2026 in “Swift 6.3 Released”

“I think this would be pretty straightforward for Parquet with ZSTD compression”

RecommendsComment from 24 Mar 2026 in “Printable Claude Code Cheat Sheet (auto-updated daily)”

“Just Parquet files + simple partitioning + commits on Hugging Face.”

RecommendsComment from 19 Mar 2026 in “Show HN: Hacker News archive (47M+ items, 11.6GB) as Parquet, updated every 5m”

“I chose Parquet because it is columnar and compressed”

RecommendsComment from 19 Mar 2026 in “Show HN: Hacker News archive (47M+ items, 11.6GB) as Parquet, updated every 5m”

“Plus isn't the least wasteful format”

CriticizesComment from 18 Mar 2026 in “Show HN: Hacker News archive (47M+ items, 11.6GB) as Parquet, updated every 5m”

“Parquet might win for table scans depending on the underlying storage medium”

MixedComment from 7 Mar 2026 in “Nobody ever got fired for using a struct”

“I think parquet and arrow are great formats”

RecommendsComment from 6 Mar 2026 in “Nobody ever got fired for using a struct”

“Depending on your needs, the right tool might be Parquet or Arrow or protobuf or Cap’n Proto”

RecommendsComment from 6 Mar 2026 in “Nobody ever got fired for using a struct”

“while Parquet fixes the "delimiter problem", it doesn't fix the "encoding problem"”

MixedComment from 4 Mar 2026 in “Moldova broke our data pipeline”

“Pulling in Parquet and all of its dependencies is utter overkill.”

CriticizesComment from 4 Mar 2026 in “Moldova broke our data pipeline”

“Parquet and Feather can have excellent performance and space efficiency if you use them for their intended purposes”

RecommendsComment from 2 Mar 2026 in “Why does C have the best file API”

“The heavy dependency footprint of parquet-java was the main driver for kicking off this project.”

CriticizesComment from 1 Mar 2026 in “Hardwood: A New Parser for Apache Parquet”

“this is significantly faster than parquet-java for the same task”

MixedComment from 1 Mar 2026 in “Hardwood: A New Parser for Apache Parquet”

“extremely unpleasant to use with its massive fan-out of dependencies”

CriticizesComment from 1 Mar 2026 in “Hardwood: A New Parser for Apache Parquet”

“parquet has fantastic support and is still a pretty good choice”

RecommendsComment from 13 Feb 2026 in “Apache Arrow is 10 years old”

“Creating the Parquet data is a pain since it's not append-able”

MixedComment from 12 Feb 2026 in “Apache Arrow is 10 years old”

“Parquet with row groups is fast and compresses well.”

RecommendsComment from 6 Jan 2026 on Hacker News

“Parquet, Iceberg, and other open formats seem good”

RecommendsComment from 31 Dec 2025 in “Readings in Database Systems (5th Edition)”

“not only do you get seekable data, you can fetch only the columns you want too”

RecommendsComment from 31 Dec 2025 in “Show HN: Hacker Book – All the HN Belong to You 2006 – 2025”

“Standard practice is to use formats like WebDataset, Parquet, or TFRecord to chunk small files into large, sequential blobs.”

RecommendsComment from 13 Dec 2025 in “We built another object storage”

“compression better with Parquet”

MixedComment from 20 Nov 2025 in “Vortex: An extensible, state of the art columnar file format”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.