apache / apache/arrow-java

should control the maximum memory usage

Aperta
#736 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Type: enhancement
Lingua principale
Java
Stelle
94
Fork
152
Merge medio
3g 16h
PR unite (30g)
11

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con ArrowVectorIterator::consume e la gestione esistente di targetBatchSize. Determina come un limite maxBufferSize dovrebbe interagire con la costruzione dei record-batch, quindi definisci test per valori grandi a lunghezza variabile; il lavoro è completato quando l’iterazione rispetta il limite di memoria senza richiedere un batch sovradimensionato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
data-engineering
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.