apache / apache/parquet-java

Make ParquetFileReader extensible

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

Descrizione

### 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_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con ParquetFileReader, in particolare con getColumnIndexStore(int blockIndex) e il campo blocks, quindi esamina l’uso della reflection collegato a KvinParquet per identificare l’accesso richiesto dalle sottoclassi. Il lavoro è completato quando le sottoclassi di ParquetFileReader possono implementare la cache richiesta senza reflection e i membri protected o i getter scelti sono documentati e coperti da test appropriati.

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

Valutazione

Stack tecnologico
java
Ambito
backend-api-design
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.