apache / apache/parquet-java

zstd compressor and decompressor use the same configuration

Offen
#2,689 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Component: Java Component: Parquet Priority: Major Type: bug
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.