No need to read full RowGroup when using RowRanges
- 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