apache / apache/iceberg-python

Upserting large table extremely slow

Ouverte
#2,159 22 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
stale
Langage dominant
Python
Étoiles
1.1k
Forks
581
Merge moyen
1 j 17 h
PR mergées (30 j)
77

Description

### Feature Request / Improvement

## Feature Request / Improvement

Upserting large dataframes (tens of millions of rows) in un-usably slow due to creating a massive `BooleanExpression` in `upsert_util.create_match_filter`. This is before any IO is even started. It would be nice if upserts could support large tables.

I'd be happy to work on this issue.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par upsert_util.create_match_filter, où l’issue identifie une BooleanExpression massive comme le goulot d’étranglement avant les E/S. Suivez l’utilisation de ce filtre pendant les upserts de dataframe et mesurez le comportement avec une grande table. Le travail sera considéré comme terminé lorsque l’upsert de dizaines de millions de lignes ne consacrera plus une durée inutilisable à la construction du filtre de correspondance.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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