apache / apache/parquet-java

Why no bulk Arrow→Parquet write API in Java? How to avoid row-by-row RecordConsumer + optimize?

Abierto
#3,353 1 comentario 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.6k
Merge medio
3 d 12 h
PR fusionados (30 d)
33

Descripción

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

I have ~ 20KB objects that I need to write to Parquet efficiently from Java.
In C++, C#, and Python there's a direct/bulk Arrow-Parquet write (e.g. WriteTable / write_table) that avoids row-by-row iteration, but in Java I only see row-by-row paths via RecordConsumer or internal/unstable column writers.
Questions:
1. Is there a supported bulk/columnar Arrow-Parquet write API in Java (e.g, VectorSchemaRoot
→ Parquet) that avoids row-by-row calls?
2. If not, why is Java limited to row-by-row writes today? Any roadmap for feature parity with C++/Python/C#?
3. For now, what's the recommended optimization path to write 20KB objects at high throughput from Java (without JNI), or is JNI/Dataset the recommended route?
4. Any best practices (batch sizing, encodings, writer settings) to mitigate the row-by-row overhead?

Thanks

### Component(s)

_No response_

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza revisando las rutas de escritura de Java mencionadas en el issue, especialmente RecordConsumer, los escritores de columnas internos y VectorSchemaRoot, y compáralas después con las API bulk descritas para C++, C# y Python. Se considera terminado cuando se documente si existe una ruta bulk compatible en Java, se explique la limitación o la hoja de ruta actuales y se identifique la vía de optimización recomendada sin JNI.

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

Evaluación

Stack tecnológico
java
Área
data-engineering
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.