apache / apache/iceberg-python
Upserting large table extremely slow
- 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