apache / apache/iceberg-python
Upserting large table extremely slow
- Lenguaje dominante
- Python
- Estrellas
- 1.1k
- Forks
- 581
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 77
Descripción
### 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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza en upsert_util.create_match_filter, donde el issue identifica una BooleanExpression masiva como el cuello de botella previo a la I/O. Rastrea cómo se usa este filtro durante los upserts de dataframe y mide el comportamiento con una tabla grande. Se considerará terminado cuando hacer upsert de decenas de millones de filas ya no dedique una cantidad de tiempo inutilizable a construir el filtro de coincidencia.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- data-engineering
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100