apache / apache/arrow-java

should control the maximum memory usage

Ouverte
#736 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Type: enhancement
Langage dominant
Java
Étoiles
94
Forks
152
Merge moyen
3 j 16 h
PR mergées (30 j)
11

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par ArrowVectorIterator::consume et la gestion existante de targetBatchSize. Déterminez comment une limite de maxBufferSize doit interagir avec la construction des record-batches, puis définissez des tests pour les grandes valeurs de longueur variable ; le travail est terminé lorsque l’itération respecte la limite de mémoire sans nécessiter de batch surdimensionné.

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é
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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