apache / apache/arrow-java

[Java] UnionListWriter.writeVarChar get a empty string list

Abierto
#214 1 comentario 0 reacciones 0 asignados Ver en GitHub
Type: usage
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

```
def writeListVector(writer: UnionListWriter, arr: Array[_], pose: Int): Unit = {
writer.startList()
writer.setPosition(pose)
arr.foreach {
case e: Short => writer.smallInt().writeSmallInt(e)
case e: Int => writer.integer().writeInt(e)
case e: Byte => writer.writeTinyInt(e)
case e: String =>
val rootAllocator = new RootAllocator()
val tempBuf = rootAllocator.buffer(2048)
val bytes = e.getBytes(StandardCharsets.UTF_8)
tempBuf.setBytes(0, bytes, 0, bytes.length)
writer.varChar().writeVarChar(0, bytes.length, tempBuf)
}
writer.setValueCount(arr.length)
writer.endList()
}
````
I use a function like above to write an array to a list vector, everything is normal except case String. It just returns a empty string list,which every elements' length is correct, like:
`[["", ""], [""], ["", "", ""]]`
can somebody help me?

### Component(s)

Java

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo el ejemplo de writeListVector y siguiendo el flujo de UnionListWriter.writeVarChar, centrándote en por qué la salida conserva el número y la longitud de los elementos, pero pierde el contenido de las cadenas. Se considera completado cuando los elementos de tipo string escritos a través del list vector se devuelven con sus valores originales en lugar de como cadenas vacías.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
data
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.