apache / apache/parquet-java

Make compression adaptive with V2 data pages

Open
#3,344 3 comments 0 reactions 0 assignees View on GitHub
Good first issue Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

### Describe the enhancement requested

When writing a V2 data page, it seems that compression is always unconditionally enabled even when compression doesn't actually yield any benefits:
https://github.com/apache/parquet-java/blob/0fea3e1e22fffb0a25193e3efb9a5d090899458a/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ColumnChunkPageWriteStore.java#L305-L311

It would be relatively easy to use a hardcoded threshold (for example 98%) above which compression is disabled, which makes reading faster.

### Component(s)

Core

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ColumnChunkPageWriteStore.java at the referenced lines and trace V2 data-page compression handling. Review the relevant existing V2 page-writing tests, then verify that compression is skipped when it provides no meaningful benefit while normal compression remains unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.