apache / apache/iceberg-python

Upserting large table extremely slow

Abierto
#2,159 22 comentarios 2 reacciones 0 asignados Ver en GitHub
stale
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.