apache / apache/parquet-java

No need to read full RowGroup when using RowRanges

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

Description

### Describe the enhancement requested

I'm using ParquetFileReader and would like to read the few first line of a parquet file to show a preview to the user.
I'm doing this :
PageReadStore rowGroup = reader.readFilteredRowGroup(0, RowRanges.createSingle(10));
and then :
ColumnReadStore colReadStore = new ColumnReadStoreImpl(rowGroup,
new GroupRecordConverter(schema).getRootConverter(),
schemaLecture, ...);
etc.

The problem is when calling readFilteredRowGroup(), it reads the full row group in memory, which in my case is slow because the parquet file is on a network drive and has quite big row group. On top of that, it consumes RAM for nothing.

Is this an issue or could it be improved ?

Thanks in advance.
Olivier

### Component(s)

_No response_

Guide de contribution

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

Piste de recherche

Commencez par ParquetFileReader.readFilteredRowGroup() et suivez la manière dont RowRanges.createSingle(10) est traité lors du chargement d’un row group. Déterminez où le row group complet est lu et comment le filtrage par plages pourrait limiter les lectures réseau et l’utilisation de la mémoire ; le travail est terminé lorsque les lignes demandées peuvent être lues sans charger le row group complet.

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é
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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