Curaduría de herramientas open source · Python-first · en español

El catálogo

Nº16 · Gobierno

Great Expectations

Tests de calidad para tus datos: define expectativas y valida cada carga.

Librería / frameworkIntermedioData Engineerpython

¿Qué es?

Great Expectations (GX) es un framework open-source de calidad y validación de datos en Python. Defines "expectativas" — reglas verificables como no nulos, valores en rango, unicidad o formato — y validas cada dataset o carga contra ellas, obteniendo un resultado claro de qué pasó y qué falló.

La idea central: tratar la calidad de los datos como se trata el código, con tests automáticos y reportes legibles en vez de revisiones manuales o sorpresas en producción.

¿Para qué sirve?

  • Tests automáticos en pipelines. Insertas una validación entre la ingesta y el consumo: si los datos no cumplen las reglas, el pipeline falla o alerta antes de propagar el problema.
  • Atrapar datos malos a tiempo. Detecta nulos inesperados, valores fuera de rango o duplicados antes de que rompan un dashboard, un modelo o un reporte downstream.
  • Documentación de datos. GX genera reportes de calidad legibles (Data Docs) que muestran qué reglas existen y cómo se comportaron las últimas cargas.
  • Contrato de datos. Las expectativas funcionan como un contrato explícito entre quien produce y quien consume un dataset.

¿Cuándo usarla / cuándo no?

Úsala cuando la confianza en los datos importa y hay pipelines de por medio: ingestas recurrentes, datos de terceros, tablas que alimentan decisiones o modelos. Su librería rica de expectativas y los reportes legibles brillan cuando la calidad es crítica.

Piénsalo dos veces para:

  • Casos chicos dentro de dbt. Si ya transformas con dbt, los tests integrados (dbt test: not_null, unique, accepted_values) suelen bastar y viven junto al modelo. GX aporta valor cuando necesitas reglas más ricas, reportes, o validar fuera de dbt.
  • Catálogo y linaje. GX no descubre activos ni mapea dependencias entre tablas — eso es trabajo de OpenMetadata. GX responde "¿estos datos cumplen las reglas?", no "¿qué datos existen y de dónde vienen?".

Empieza en 1 minuto

Valida un DataFrame de pandas con un par de expectativas usando la API moderna de GX.

pip install great_expectations
import pandas as pd
import great_expectations as gx

df = pd.DataFrame({
    "pais": ["PE", "CL", "AR"],
    "monto": [100, 80, 50],
})

batch = gx.get_context().data_sources \
    .add_pandas("ventas").read_dataframe(df)

# Expectativa 1: la columna 'pais' nunca es nula
print(batch.validate(
    gx.expectations.ExpectColumnValuesToNotBeNull(column="pais")
).success)  # True

# Expectativa 2: 'monto' está entre 0 y 1000
print(batch.validate(
    gx.expectations.ExpectColumnValuesToBeBetween(
        column="monto", min_value=0, max_value=1000)
).success)  # True

Cambia un valor a None o fuera del rango y .success pasa a False: ahí ves a GX atrapando el dato malo antes de que avance.

Trivia rápida — pon a prueba lo que acabas de leer.

¿Qué tanto sabes de Great Expectations?

Documentación oficial

La fuente de verdad vive ahí. Acá orientamos; la profundidad la pones tú.

Abrir documentación oficial

Qué aprender después

Ver también

Buzón de KioskoAI

¿Falta algo en la guía de Great Expectations?

Esto define qué se escribe después. Si algo te sirvió a medias, dilo.

Tipo de comentario
0/2000

Sin spam. El correo es opcional y solo se usa para responderte.

Nº16 · Actualizado 2026-06-26