apache / apache/parquet-java

Drop Hadoop 2 input stream reflection from parquet-hadoop

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

Descrizione

Parquet uses reflection to load a hadoop2 input stream, falling back to a hadoop-1 compatible client if not found.

All hadoop 2.0.2+ releases work with H2SeekableInputStream, so the binding to H2SeekableInputStream reworked to avoid needing reflection. This would make it a lot easier to probe for/use the bytebuffer input, and line the code up for more recent hadoop releases.

H1SeekableInputStream is still needed to handle streams without ByteBufferReadable.

At some poiint support for ByteBufferPositionedReadable is needed, because that is really what parquet wants. that's where reflection will be needed

**Reporter**: [Steve Loughran](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=stevel@apache.org) / @steveloughran
#### Related issues:
- [Incorrect type checking in HadoopStreams.wrap](https://github.com/apache/parquet-java/issues/2673) (is related to)

**Note**: *This issue was originally created as [PARQUET-2151](https://issues.apache.org/jira/browse/PARQUET-2151). 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

Inizia dal codice di caricamento degli stream di parquet-hadoop ed esamina H2SeekableInputStream e H1SeekableInputStream, usando come contesto la issue correlata HadoopStreams.wrap. Verifica come vengono attualmente caricati gli stream Hadoop 2.0.2+; il lavoro è completato quando il binding H2 non ha più bisogno della reflection, mentre H1 rimane disponibile per gli stream senza ByteBufferReadable.

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

Valutazione

Stack tecnologico
hadoop, java
Ambito
data-engineering
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.