Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Enable stats collection for nested fields and use write.metadata.metrics.max-inferred-column-defaults to control stats growth

Abierto
#2,699 4 comentarios 5 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
66/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Empieza en pyiceberg/io/pyarrow.py, alrededor de las líneas enlazadas que deshabilitan las estadísticas para campos anidados, y después sigue cómo se gestiona write.metadata.metrics.max-inferred-column-defaults. Se considera terminado cuando los campos struct anidados pueden recopilar límites inferiores y superiores, mientras la propiedad de la tabla controla el crecimiento de las estadísticas de columnas inferidas; usa las pruebas existentes relacionadas con las estadísticas, si encuentras alguna cerca, para verificar ambos comportamientos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Feature Request / Improvement

I recently discovered that full stats collection (i.e. lower_bounds/upper_bounds) is explicitly disabled in PyIceberg for nested (i.e. struct child) fields.

This change was made in this PR and specifically this commit.

It seems that this change may have been made to limit the number of fields whose stats are collected when default-full stats collection is enabled. However, after discussion it seems that simply adding support for the write.metadata.metrics.max-inferred-column-defaults table property would be the preferred way to control stats growth. If this is implemented, re-enabling stats collection for nested fields should be a non-issue.

Stats collection for nested struct fields is important for schemas like GeoParquet which store important primitive fields (in this case, bounding box xmin, ymin, xmax, ymax) using structs.

See also this slack thread for discussion.

Lenguaje dominante
Python
Estrellas
1.1k
Forks
589
Merge medio
2 d 2 h
PR fusionados (30 d)
70

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/iceberg-python

Todos los issues de apache/iceberg-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.