apache / apache/arrow-java

should control the maximum memory usage

Offen
#736 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Type: enhancement
Vorherrschende Sprache
Java
Sterne
94
Forks
152
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
11

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit ArrowVectorIterator::consume und der bestehenden Behandlung von targetBatchSize. Ermittle, wie eine maxBufferSize-Begrenzung mit der Erstellung von Record-Batches interagieren sollte, und definiere anschließend Tests für große Werte variabler Länge; die Aufgabe ist abgeschlossen, wenn die Iteration das Speicherlimit einhält, ohne einen übergroßen Batch zu erfordern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data-engineering
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.