apache / apache/parquet-java

Add support for Parquet Input Stream optimisations.

Offen
#3,386 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
3.1k
Forks
1.6k
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
33

Beschreibung

This issue tracks adding of a new module [parquet-io] with the goal of adding IO optimisations to the parquet-java repository.

The goal is to have a single place where the following optimisations can be implemented:

* Vectored Reads
* Reading the tail of a file in one request rather than multiple small requests (Avoid the parquet footer dance, multiple requests for the pageIndex)
* Small Parquet files are read in a single request
* Sequential prefetching

[Parquet Java Input Stream Optimisations](https://docs.google.com/document/d/1Xdlh23tmCs-KvzHhY2RuwFYmc3xntUKcmwb8yxEl78Y/edit?usp=sharing): Doc explains the features this will implement.

[Analytics Accelerator for S3](https://docs.google.com/document/d/13shy0RWotwfWC_qQksb95PXdi-vSUCKQyDzjoExQEN0/edit?tab=t.0#heading=h.3lc3p7s26rnw): Doc explains IO optimisations made in the analytics accelerator library.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie mit dem Lesen des im Issue verlinkten Dokuments „Parquet Java Input Stream Optimisations“ und des Dokuments „Analytics Accelerator for S3“. Definieren Sie anschließend den Umfang des vorgeschlagenen parquet-io-Moduls in Bezug auf Vectored Reads, Tail- und Small-File-Reads, den Zugriff auf den Page Index und sequenzielles Prefetching. Als abgeschlossen gilt die Aufgabe, wenn ein abgestimmter Implementierungsplan vorliegt und die aufgeführten Optimierungen unterstützt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
data-engineering, performance
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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