Row lineage

Ouverte
#4,080 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
python
Domaine
data

Piste de recherche

Start with the scan projection and REST scan-planning code, then inspect the manifest and data-file metadata handling for first_row_id and data sequence numbers. Check the existing tests around scans, deletes, and inspect.files() before adding coverage. Done means scans expose both lineage columns with the specified null handling and position semantics, and the requested integration comparisons pass.

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

Description

V3
Feature Request / Improvement

We want to be able to read the row-lineage values on a table. This is a blocker for writing v3 tables.

table.scan(selected_fields=("id", "_row_id", "_last_updated_sequence_number"))
  • Data files with a null first_row_id inherit it from the manifest's first_row_id plus a running record count: #3972
  • Define the reserved columns _row_id (2147483540) and _last_updated_sequence_number (2147483539)
  • Let scans project them
  • Use the values stored in the file if there are any. Fill nulls with first_row_id + pos and the file's data sequence number.
  • Compute pos before applying deletes
  • Show first_row_id in inspect.files()
  • REST scan planning drops first_row_id
  • Integration test: each file's first_row_id matches Spark's MIN(_row_id): #3972
  • Integration test: Spark MERGE / UPDATE / rewrite_data_files, then compare with Spark's SELECT _row_id, _last_updated_sequence_number
Langage dominant
Python
Étoiles
1.2k
Forks
654
Merge moyen
2 j 11 h
PR mergées (30 j)
122

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun 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/iceberg-python

Toutes les issues de apache/iceberg-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

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