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

Improve performance of InternalParquetRecordReader (1%)

Offen
#3,226 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 3 Tagen

Dieses Issue hat noch niemand übernommen.

  • #3227 von @jerolba — ohne Merge geschlossen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
55/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
java

Rechercherichtung

Beginne in parquet-hadoop/src/main/java/org/apache/parquet/hadoop/InternalParquetRecordReader.java beim LongStream um Zeile 323 und überprüfe anschließend das verlinkte Benchmark-Projekt parquet-rowindexiterator. Vergleiche die aktuelle Iteration des Readers mit dem Long Iterator-Ansatz des Benchmarks; abgeschlossen ist die Aufgabe, wenn der Reader den gemeldeten LongStream-Overhead vermeidet und dabei das Verhalten bei der Row-Index-Iteration beibehält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Type: enhancement
Describe the enhancement requested

Profiling the load of a Parquet file with Java Mission Control, I've noticed that InternalParquetRecordReader LongStream consumes relevant amount of time.

This LongStream can be replaced with a simpler Long Iterator that iterates from 0 to pages.getRowCount().

To measure the overhead I've created a test project that overwrites InternalParquetRecordReader implementation with a Long Iterator: https://github.com/jerolba/parquet-rowindexiterator

The execution time is sensitive to the context of the JVM, but running the benchmark multiple times shows that LongStream is slower than LongIterator, between 1% and 4% depending on the run.

Component(s)

No response

Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
4 T. 14 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.