apache / apache/arrow-java

[Java] MapVector written data does not meet expectations

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

Beschreibung

### What would you like help with?

```
RootAllocator allocator = new RootAllocator(Long.MAX_VALUE);
Map metadata = new HashMap<>();
metadata.put("K1", "V1");
metadata.put("K2", "V2");
Field a = new Field("key", FieldType.notNullable(new ArrowType.Int(32, true)), null);
Field b = new Field("value", FieldType.nullable(new ArrowType.Int(32,true)), null);
Schema schema = new Schema(asList(a, b), metadata);
Field struct = new Field("struct", FieldType.notNullable(new ArrowType.Struct()), schema.getFields());
StructVector structVector = new StructVector(Field.nullable("struct", struct.getType()), allocator, null);
MapVector mapVector = new MapVector(Field.nullable("map", structVector.getField().getType()), allocator, null);
mapVector.initializeChildrenFromFields(Collections.singletonList(struct));
mapVector.allocateNew();

UnionMapWriter writer = mapVector.getWriter();
for (int i = 0; i < 10; i++) {
writer.startMap();
writer.setPosition(i);
writer.key().writeInt(i);
writer.value().writeInt(i * 10);
writer.endMap();
}
writer.setValueCount(10);
```
when the types of key and value are different, data cannot be written .
Only examples of [ListVector](https://arrow.apache.org/docs/java/vector.html#building-listvector) are available in the documentation on the official website ,Please provide an example of writing data to MapVector.

![image](https://github.com/user-attachments/assets/9d081d9a-6f0d-48c9-a4fd-a4ddaa26450b)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere das bereitgestellte Java-Snippet mit MapVector und UnionMapWriter und untersuche anschließend den Schreibpfad von MapVector und UnionMapWriter auf den Umgang mit unterschiedlichen Schlüssel- und Werttypen. Vergleiche das verfügbare Dokumentationsbeispiel für ListVector und definiere den Abschluss entweder als erfolgreiche Schreibvorgänge mit MapVector mit gemischten Typen oder als dokumentiertes, funktionierendes MapVector-Beispiel, abgesichert durch einen Regressionstest.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
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.