Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Support content-defined chunking (CDC) in the Parquet writer

Offen
#3,817 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 4 Tagen

@kszucs arbeitet bereits daran.

Seit 22.9.2026.

  • #1 von @kszucs — offen
  • #3818 von @kszucs — offen

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
42/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
java

Rechercherichtung

Start with the Parquet writer and compare the existing CDC implementations in Parquet C++, PyArrow, and parquet-rs referenced in the issue. Define how rolling-hash boundaries use min_chunk_size, max_chunk_size, and norm_level, then verify that the result remains a regular Parquet file with stable pages when rows are inserted or appended.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Describe the enhancement requested

Add content-defined chunking (CDC) to the Parquet writer. It is already available in Parquet C++ (apache/arrow#45750, PyArrow >= 21) and parquet-rs (apache/arrow-rs#9450). With CDC, data page boundaries come from a rolling hash of the column values rather than fixed sizes. Pages then stay stable when rows are inserted or appended, so content-addressable storage (e.g. Hugging Face Xet) can deduplicate them. The output is a regular Parquet file, with no format change.

It would help to use the same parameters as the other implementations:

  • min_chunk_size (default 256 KiB)
  • max_chunk_size (default 1 MiB)
  • norm_level (default 0)

Motivation: Iceberg is adding write.parquet.content-defined-chunking.* table properties (apache/iceberg-rust#2375, apache/iceberg-python#3889). Iceberg Java cannot honor them until parquet-java supports CDC.

Component(s)

Core

Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
5 T. 13 Std.
Gemergte PRs (30 T.)
31

Entwicklungsumgebung

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus apache/parquet-java

Alle Issues in apache/parquet-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

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