Make ParquetFileReader extensible
- 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