apache / apache/parquet-java

Reduce memory footprint for nulls caching

Open
#2,088 0 comments 0 reactions 0 assignees View on GitHub
Component: Java Component: Parquet Priority: Major Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

Scenario:
There is a schema with many optional groups, e.g.
```
message example {
required binary id (UTF8);
optional group a1 (LIST) {
repeated int64 array;
}
optional group a2 (LIST) {
repeated int64 array;
}
...
optional group aN (LIST) {
repeated int64 array;
}
}
```

Many records without optional parameters are written.
In this case groupNullCache will contain many elements which all are zeros.

**Reporter**: [Boris Molodenkov](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=molodenkov)
#### Related issues:
- [Caching nulls on group node to improve write performance on wide schema sparse data](https://github.com/apache/parquet-java/issues/1860) (relates to)

**Note**: *This issue was originally created as [PARQUET-1119](https://issues.apache.org/jira/browse/PARQUET-1119). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Contributor guide

No contributing guide indexed for this repository

Research direction

No source files or tests are named. Start by tracing where groupNullCache is created and populated, then read related issue #1860 for the existing caching design. Done means reducing storage for all-zero null-cache entries while preserving the relevant write behavior; add focused coverage where the current cache behavior is tested.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.