apache / apache/parquet-java

zstd compressor and decompressor use the same configuration

Abierto
#2,689 1 comentario 0 reacciones 0 asignados Ver en GitHub
Component: Java Component: Parquet Priority: Major Type: bug
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.6k
Merge medio
3 d 12 h
PR fusionados (30 d)
33

Descripción

I use spark to rewrite the parquet files that are compressed by zstd. And the parquet version is  1.12.2. I want to read the parquet files compressed by level 3 and compress them on another level. But the level can't be changed.
After I check the source, I found the problem was the codec was cached, and the configuration will not be updated:

I think the problem is important. I found it when I try to use a different level to compaction the files in the iceberg table. Asynchronous rewriting with a higher level can lead to higher compression ratio. This is important to save storage costs.

**Reporter**: [Peidian Li](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=lipeidian)

**Note**: *This issue was originally created as [PARQUET-2152](https://issues.apache.org/jira/browse/PARQUET-2152). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Guía de contribución

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

Línea de trabajo

Empieza en parquet-hadoop/src/main/java/org/apache/parquet/hadoop/CodecFactory.java, especialmente en los puntos relacionados con la caché de las líneas 144 y 226. Traza cómo se almacenan en caché las configuraciones del compresor y del descompresor, y confirma que una reescritura puede usar un nivel de compresión de Zstandard diferente. Se considerará terminado cuando el nivel solicitado ya no esté bloqueado por una configuración de codec almacenada previamente en caché, con cobertura de regresión añadida si las pruebas circundantes identifican una ubicación adecuada.

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

Evaluación

Stack tecnológico
java, spark
Área
data-engineering
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.