should control the maximum memory usage
- 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