apache / apache/parquet-java

No need to read full RowGroup when using RowRanges

Abierto
#3,231 1 comentario 0 reacciones 0 asignados Ver en GitHub
Type: enhancement
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.6k
Merge medio
3 d 12 h
PR fusionados (30 d)
33

Descripción

### 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_

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza en ParquetFileReader.readFilteredRowGroup() y sigue cómo se gestiona RowRanges.createSingle(10) al cargar un row group. Determina dónde se lee el row group completo y cómo el filtrado por rangos podría limitar las lecturas de red y el uso de memoria; se considera terminado cuando las filas solicitadas puedan leerse sin cargar el row group completo.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
data-engineering
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.