should control the maximum memory usage
- Lenguaje dominante
- Java
- Estrellas
- 94
- Forks
- 152
- Merge medio
- 3 d 16 h
- PR fusionados (30 d)
- 11
Descripción
### Describe the enhancement requested
`ArrowVectorIterator::consume` only concern about the `ArrowVectorIterator#targetBatchSize` but not the memory used.
Let's suppose a scenario:
1. A database table with a longtext field;
2. All of the rows in the table are larger than 500M;
3. `ArrowVectorIterator#targetBatchSize` is 256;
We need at least for 125G memory to get one record batch.
So I think it's better add a parameter such as `maxBufferSize` to control the memory usage.
Guía de contribución
Línea de trabajo
Comienza con ArrowVectorIterator::consume y el manejo existente de targetBatchSize. Determina cómo debería interactuar un límite de maxBufferSize con la construcción de record-batches y, a continuación, define pruebas para valores grandes de longitud variable; se considera terminado cuando la iteración respeta el límite de memoria sin requerir un batch sobredimensionado.
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
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100