apache / apache/parquet-java

Make ParquetFileReader extensible

Offen
#3,006 11 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Type: enhancement
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
33

Beschreibung

### Describe the enhancement requested

I wanted to add a cache for `ParquetFileReader.getColumnIndexStore(int blockIndex)` and I've noticed that I can't access the required `blocks` field from a subclass.
To accomplish this I had to fallback to reflection as can be seen here:
https://github.com/linkedfactory/linkedfactory-pod/blob/c67b155e3fbf76082e2b24fd412efae5838badc6/bundles/io.github.linkedfactory.core/src/main/java/io/github/linkedfactory/core/kvin/parquet/KvinParquet.java#L881

I would propose to improve the extensibility of `ParquetFileReader` by changing certain core members (like `blocks`) to protected or by exposing them through protected getters.

### Component(s)

_No response_

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit ParquetFileReader, insbesondere mit getColumnIndexStore(int blockIndex) und dem Feld blocks, und überprüfe anschließend die verknüpfte KvinParquet-Reflexionsverwendung, um den erforderlichen Zugriff von Subklassen zu ermitteln. Als erledigt gilt die Aufgabe, wenn ParquetFileReader-Subklassen den angeforderten Cache ohne Reflection implementieren können und die ausgewählten geschützten Member oder Getter dokumentiert und durch geeignete Tests abgedeckt sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend-api-design
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.