zstd compressor and decompressor use the same configuration
- 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