zstd compressor and decompressor use the same configuration
- Vorherrschende Sprache
- Java
- Sterne
- 3.1k
- Forks
- 1.6k
- Ø Merge
- 3 T. 12 Std.
- Gemergte PRs (30 T.)
- 33
Beschreibung
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.*
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne in parquet-hadoop/src/main/java/org/apache/parquet/hadoop/CodecFactory.java, insbesondere bei den cachebezogenen Stellen in den Zeilen 144 und 226. Verfolge, wie die Konfigurationen für Kompressor und Dekompressor zwischengespeichert werden, und bestätige, dass eine Neuschreibung eine andere Zstandard-Komprimierungsstufe verwenden kann. Als erledigt gilt die Aufgabe, wenn die angeforderte Stufe nicht mehr durch eine zuvor zwischengespeicherte Codec-Konfiguration blockiert wird und eine Regressionstestabdeckung hinzugefügt wurde, falls die umgebenden Tests einen geeigneten Ort dafür erkennen lassen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, spark
- Bereich
- data-engineering
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100