Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Reuse Parquet OffsetIndex objects and direct-plan decisions

Fermée
#328 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
cpp

Piste de recherche

Commencez par examiner l'issue #314, qui est désignée comme l'implémentation de ce travail. Validez les valeurs sélectionnées et les durées de vie des index pour des sélections sparse et dense, y compris les limites de rétention des row-groups, puis comparez le format benchmark avec main en termes de latence et d'octets de stockage, sans supposer un gain de vitesse général.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Problem

Selective Parquet reads repeat CPU work within one file reader: Arrow 17 reparses OffsetIndex on each lookup, page planning scans page locations for sparse row selections, and decoding rebuilds a direct-read plan just to determine whether compressed row coordinates apply.

The byte cache in #272 reduces repeated I/O but does not eliminate this parsing and planning work.

Proposed improvement
  • Reuse parsed OffsetIndex objects within each retained row-group reader.
  • Seek across page gaps for sparse selections and visit each selected page once.
  • Reuse the direct-plan decision during decoding.

Preserve index validation, dictionary handling, per-leaf row coordinates and missing-index fallbacks. Keep parsed objects reader-local without introducing a shared data cache or public option.

Validation

Check selected values and index lifetimes, including sparse/dense selections and the row-group retention limit. Compare against main with the format benchmark, reporting latency and storage bytes without assuming a general speedup.

Implementation: #314.

Langage dominant
C++
Étoiles
65
Forks
29
Merge moyen
2 j 11 h
PR mergées (30 j)
79

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/paimon-cpp

Toutes les issues de apache/paimon-cpp

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.