Enhance ParquetWriter with exposing in-memory size of writer object
- Lenguaje dominante
- Java
- Estrellas
- 3.1k
- Forks
- 1.6k
- Merge medio
- 3 d 12 h
- PR fusionados (30 d)
- 33
Descripción
While using ParquetWriter and before closing it to write the content out to the disk, there is no way to check/estimate the size of the output file. This is useful in case we want to close files and upload them based on a minimum size threshold. Since ParquetWriter keeps everything in memory and only writes it out to disk at the very end when writer is closed, it is not possible to have an estimate of the output file size before closing the writer.
Based on Parquet documentation, the data is written into memory object in the final format, meaning that the size of the object in memory is the very close to the final size on disk. it would be great if you can expose the current size of the parquetWriter object in memory. It is true that such a size will be different than the final output size because of adding the schema and other metadata at the end of the file but it still gives a close estimation of the output file size that will be very useful when reading/writing streams.
**Reporter**: [Reza Shiftehfar](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=reza79)
**Note**: *This issue was originally created as [PARQUET-209](https://issues.apache.org/jira/browse/PARQUET-209). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza siguiendo el ciclo de vida de la salida en memoria de ParquetWriter antes de close e identifica dónde podría exponerse su tamaño actual. Revisa las pruebas existentes del writer y compara la estimación reportada con el tamaño final del archivo; se considera terminado cuando los llamadores pueden obtener una estimación útil del tamaño antes de cerrar el writer.
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
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100