apache / apache/parquet-java

Reduce memory footprint for nulls caching

Aperta
#2,088 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Component: Java Component: Parquet Priority: Major Type: enhancement
Lingua principale
Java
Stelle
3.1k
Fork
1.6k
Merge medio
3g 12h
PR unite (30g)
33

Descrizione

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.*

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Non vengono indicati file sorgente o test. Inizia tracciando dove viene creato e popolato groupNullCache, quindi leggi l’issue #1860 relativa al design di caching esistente. Il lavoro è completato quando viene ridotto lo storage per le voci null-cache con tutti i valori a zero, preservando al contempo il comportamento di scrittura rilevante; aggiungi una coverage mirata dove viene testato il comportamento attuale della cache.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
data-engineering
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.