Saltar al contenido
Lakehouse LabLakehouse LabPreparación Databricks Data Engineer
Módulo 24 · Lección

Statistics y data skipping

Contenido abierto

Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.

Lección 2 de 5

Statistics y data skipping

Diseña data skipping a partir de predicados reales y estadísticas, evitando layouts que sólo reflejan cómo llegó el dato.

Duración
17 min aprox.
Objetivo
Diseña data skipping a partir de predicados reales y estadísticas, evitando layouts que sólo reflejan cómo llegó el dato.
Siguiente paso
Continuar con la siguiente lección
Ver detalles del módulo

Photon, data skipping y liquid clustering

Diseña layout y mantenimiento de tablas según patrones de consulta que cambian con el tiempo.

Al terminar podrás
  • Interpretar data skipping y pruning
  • Elegir liquid clustering
  • Explicar deletion vectors, Photon y predictive optimization
Ver fuentes y revisión

Metadatos editoriales

Última revisión
21 jul 2026
Nivel
Professional
Ruta relacionada
performance
Dominios blueprint
Delta optimization · Performance
Estado
Revisión editorial interna
Fuentes principales
What is Photon? · Use liquid clustering for tables
Reportar un error
02
Implementación

Statistics y data skipping

Diseña data skipping a partir de predicados reales y estadísticas, evitando layouts que sólo reflejan cómo llegó el dato.

Mostrar prerrequisitos
Dificultad
Professional
Prerrequisitos
m23
Reportar un error en esta lección

Delta registra estadísticas por archivo para que el motor descarte archivos cuyo rango no puede satisfacer el filtro. El skipping funciona cuando las columnas consultadas tienen estadísticas útiles y los valores están organizados de forma que distintos archivos cubren rangos discriminantes. Un filtro muy selectivo no ayuda si todos los archivos contienen casi todo el rango de la columna.

En tablas Unity Catalog administradas, predictive optimization puede recopilar estadísticas automáticamente. Si cambias las columnas de estadísticas, `ANALYZE TABLE ... COMPUTE DELTA STATISTICS` recalcula la información del log; las estadísticas del optimizador se actualizan con `ANALYZE TABLE ... COMPUTE STATISTICS`. Verifica en Query Profile bytes leídos y porcentaje podado, no sólo el tiempo caliente de una segunda ejecución.

Modelo mental

Data skipping funciona como un índice grueso distribuido: Delta conserva estadísticas por archivo, como mínimos y máximos de columnas elegibles, y el motor descarta archivos imposibles antes de leer sus filas. No busca una fila concreta ni sustituye un filtro; reduce el conjunto de archivos candidatos cuando el predicado es selectivo y los valores relacionados están físicamente agrupados. Si cada archivo contiene todo el rango de fechas o clientes, sus intervalos se solapan y las estadísticas no ayudan. El diseño empieza con el historial real de filtros y joins, no con el orden de llegada. Clustering, compactación y tamaño de archivos moldean la utilidad de esas estadísticas sin crear una jerarquía rígida de directorios.

Estadística por archivo

Metadato como mínimo, máximo, nulos y recuento asociado a un archivo de datos.

Permite descartar archivos sin leer su contenido cuando el predicado queda fuera del rango.
Pruning

Eliminación de archivos o particiones candidatas durante la planificación de lectura.

Reduce I/O y trabajo downstream; Query Profile permite medir cuántos bytes se evitaron.
Selectividad

Fracción del conjunto total que satisface un predicado.

Los filtros selectivos obtienen más valor de un layout que agrupa sus columnas.
SQLActualizar estadísticas tras cambiar columnas de skipping
ALTER TABLE prod.gold.orders
SET TBLPROPERTIES ('delta.dataSkippingStatsColumns' = 'order_date,customer_id');

ANALYZE TABLE prod.gold.orders COMPUTE DELTA STATISTICS;
ANALYZE TABLE prod.gold.orders COMPUTE STATISTICS;

SELECT *
FROM prod.gold.orders
WHERE order_date = DATE '2026-07-20'
  AND customer_id = 184203;

La recomputación puede ser costosa en tablas grandes; documenta el cambio y compara bytes leídos antes y después.

Puntos clave

  • El skipping depende de estadísticas y distribución física, no de índices de filas tradicionales.
  • Prioriza columnas presentes en filtros selectivos y frecuentes.
  • Mide bytes/archivos podados con caché controlada.

Evita

  • Añadir muchas columnas de estadísticas sin relación con predicados, aumentando metadatos y mantenimiento.
  • Medir sólo una segunda consulta que ya se beneficia de caché.

Recuerdo activo

Una consulta filtra por `customer_id`, pero todos los archivos contienen IDs de todo el rango. ¿Por qué el skipping será débil?

Borrador privado · solo en este navegador
5 lecciones pendientes

Vista de lectura · sin ejecución

Photon.py

Learn Databricks · commit 08c378c

Photon.py