apache / apache/parquet-java

Introduce an interface for controlling the encoding per column

Ouverte
#1,766 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Component: Java Component: Parquet Priority: Major Type: enhancement
Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
3 j 12 h
PR mergées (30 j)
33

Description

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.*

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par lire ParquetProperties et les constructeurs de ParquetWriter et InternalParquetRecordWriter. Suivez les classes internes de Parquet qui instancient ParquetProperties, puis définissez l’interface et le flux de dépendances nécessaires pour contrôler l’encodage par colonne ; le travail est terminé lorsque les appelants peuvent fournir le comportement d’encodage sans reflection ni instanciation interne directe.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
data-engineering
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.