Filter manifest entries on pyiceberg-core Arrow output in plan_files
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 43/100
Línea de trabajo
Read _open_manifest in table/__init__.py and the referenced issues #3658, #4007, and apache/iceberg-rust#3649 to understand the current filtering and the dependency on Rust-side decisions. Then check how the optional pyiceberg-core reader exposes Arrow columns and how the Cython reader remains the fallback. Done means filtering Arrow output before constructing DataFile objects, with the existing fallback preserved.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature Request / Improvement
_open_manifest (table/__init__.py#L2321-L2334) filters each manifest entry with Python partition and metrics evaluators while decoding (#3658), but every entry still becomes a DataFile before it is filtered. #4007 shows that building those objects costs about as much as the whole Cython decode. To beat Cython, filtering has to happen on the Arrow columns from pyiceberg-core, so that only the matching entries become Python objects.
This needs apache/iceberg-rust#3649, which settles whether the filtering runs vectorized in PyIceberg or in Rust. pyiceberg-core is an optional extra, so the Cython reader stays as the fallback.
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 654
- Merge medio
- 2 d 11 h
- PR fusionados (30 d)
- 122
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/iceberg-python
-
`inspect.files()` and the other file metadata tables raise `ArrowInvalid` when a snapshot has no manifestsPosiblemente ocupada @YuangGao la tomó hace 10 días. Abiertokind:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/iceberg-python#4269 ·
Los mantenedores suelen responder en 1 día
-
`inspect.entries()` raises TypeError when a data file has no column_sizesPosiblemente ocupada @Rahul-cs50 la tomó hace 14 días. Abiertokind:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/iceberg-python#4186 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
`older_than` reads a naive datetime as UTC and expires snapshots it should keepPosiblemente ocupada @Rahul-cs50 la tomó hace 13 días. Abiertokind:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/iceberg-python#4182 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
REST: Send empty first-page pageToken when rest-page-size is setPosiblemente ocupada @ehddnr301 la tomó hace 32 días. Abiertokind:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
apache/iceberg-python#4096 ·
Los mantenedores suelen responder en 1 día
-
PyArrowFileIO: every small S3 write is a 3-request multipart upload; expose allow_delayed_openPosiblemente ocupada @David-Banquet la tomó hace 29 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/iceberg-python#4093 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de apache/iceberg-python
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Cygnux-Labs/Tracekit#827 ·
Los mantenedores suelen responder en 1 día
-
SPIDevice selects an active-high device as soon as it is createdPosiblemente ocupada @mikeysklar la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
adafruit/circuitpython#11869 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
glossyio/traffic-monitor#312 ·
Los mantenedores suelen responder en 1 día
-
Export `EagerAllowed` and `IntoBackend` from stable.v2Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
narwhals-dev/narwhals#4154 ·
Los mantenedores suelen responder en 1 día