apache / apache/parquet-java

Introduce an interface for controlling the encoding per column

Aperta
#1,766 2 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

There are use-cases in which it is advantageous to have control over the type of encoding used for a given column. To achieve this, the ParquetProperties class must be refactored to facilitate its subclassing. The constructors of ParquetWriter and (probably) InternalParquetRecordWriter have to be modified as well. All the internal parquet classes have to refrain from directly instantiating ParquetProperties and should accept the instance from outside.

Currently me and my team are using a good amount of reflection and unenforceable assumptions in order to gain control of this behavior. I'd like to implement the interface change. Are you interested in this feature?

**Reporter**: [Boris Peltekov](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=peltekster) / @peltekster

**Note**: *This issue was originally created as [PARQUET-226](https://issues.apache.org/jira/browse/PARQUET-226). 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 leggendo ParquetProperties e i costruttori di ParquetWriter e InternalParquetRecordWriter. Traccia le classi interne di Parquet che istanziano ParquetProperties, quindi definisci l’interfaccia e il flusso delle dipendenze necessari per controllare la codifica per colonna; il lavoro è completato quando i chiamanti possono fornire il comportamento di codifica senza reflection né istanziazione interna diretta.

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

Valutazione

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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.