apache / apache/arrow-java

Java: What is the best way to concat two vectors?

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

Beschreibung

### Describe the usage question you have. Please include as many useful details as possible.

Given two `IntVector`s `one: {1, 2, 3}` and `another: {null, 5, 6}`,
how can I concat them into avector `result: {1, 2, 3, 4, 5, 6}`?

Should I copy element one by one using `copyFromSafe` or is there any convenient method to achieve the same result?

If I should copy element one by one, how can I calculate value count and null count of the result?

```scala
val one : IntVector = ??? // suppose {1, 2, 3,}
val another: IntVector = ??? // suppose {null, 5, 6}

val offset = one.getValueCount() +one.getNullCount() // 3
val len = another.getValueCount() + another.getNullCount() // 3
var i = 0
while i < len do
one.copyFromSafe(i, offset + i, another)
// can I detect whether copied value is null here so that I can respectively count non-null value and null value?
// for example
// val isNull = one.nullAwareCopyFromSafe(i, offset + i, another)
// if isNull then j += 1 else i += 1
i += 1
one.setValueCount(offset + i)
// offset + i is 6, but another may contain null, so value count could be different from actual value.
```

### Component(s)

Java

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie mit der Dokumentation der IntVector API für copyFromSafe, getValueCount, getNullCount und setValueCount. Ermitteln Sie die unterstützte Möglichkeit, die beiden Vektoren zu verketten, und wie sich Nullwerte auf die Wert- und Nullanzahlen auswirken. Dokumentieren Sie anschließend den Ansatz mit einem korrigierten Beispiel für die gemeldeten Eingaben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data
Issue-Typ
Dokumentation
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

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