Skip to content

fix(parquet): enable Zstandard-compressed reads - #243

Closed
mindreframer wants to merge 1 commit into
thanos:mainfrom
mindreframer:feat/support-zstd-compression
Closed

fix(parquet): enable Zstandard-compressed reads#243
mindreframer wants to merge 1 commit into
thanos:mainfrom
mindreframer:feat/support-zstd-compression

Conversation

@mindreframer

Copy link
Copy Markdown
Contributor

Enable the parquet crate's zstd feature so ExArrow can read Zstandard-compressed Parquet files. Previously, reads failed at runtime because default Parquet features were disabled and zstd was not explicitly enabled.

Add an externally generated Zstandard fixture and regression test, and document compression support in the Parquet reader guide and changelog.

Enable the parquet crate's zstd feature so ExArrow can read
Zstandard-compressed Parquet files. Previously, reads failed at runtime
because default Parquet features were disabled and zstd was not
explicitly enabled.

Add an externally generated Zstandard fixture and regression test, and
document compression support in the Parquet reader guide and changelog.
@mindreframer

Copy link
Copy Markdown
Contributor Author

hey @thanos, thanks for this interesting package!

Would you mind looking into this PR and say if it is something you would consider accepting?
I need to support Parquet with compression for my Elixir application and it would be great to understand if i can use ExArrow for this.

If you for some reasons don't want this, it's fine. Close this PR and then i'll maintain my own fork.

Best,
Roman

@thanos

thanos commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Sorry I missed your PR. I'm going to look at it tonight. Many thanks.

@thanos

thanos commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Sorry again for the delay — yes, this is absolutely something we want. You’re right that zstd was broken on 0.7.2 because parquet features were too narrow. I'm about to release 0.8 - due to other work I've been sitting on it since 7th - with zstd (and snap/lz4/gzip) enabled for both read and write; I’ll fold your DuckDB fixture and regression test into that and credit you in the changelog. No need to maintain a fork for this.

@thanos

thanos commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Thanks so much for this, @mindreframer — really appreciate you catching the Zstd gap and shipping a clean fix with a third-party fixture.

Closing this PR in favor of the v0.8.0 work on #244, which already enables Zstd (and the other Parquet codecs) in the native crate. We folded your DuckDB-generated parquet_zstd.parquet fixture and the external-read regression into that branch so we keep the interop coverage you added — credited in the CHANGELOG and test/fixtures/README.md.

Your PR was the right diagnosis and a very helpful contribution. Looking forward to more from you if you’re up for it.

— Thanos

@thanos thanos closed this Aug 21, 2026
@mindreframer

Copy link
Copy Markdown
Contributor Author

@thanos Thanks, looking forward to play with it!

I like your selection of packages on hex.pm, some are really esoteric :)
Roman

@mindreframer

Copy link
Copy Markdown
Contributor Author

BTW, because I was not sure about the status of this issue, i've created a package with a narrower scope:

  • parquet handling + compression + object store uploading in a single package.

https://github.com/mindreframer/parquex

maybe of interest to you, too.

@mindreframer
mindreframer deleted the feat/support-zstd-compression branch August 21, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants