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

El catálogo

Nº21 · Gobierno

OpenMetadata

El catálogo abierto para descubrir y trazar el linaje de tus datos.

PlataformaIntermedioData Engineer

¿Qué es?

OpenMetadata es una plataforma de catálogo de datos open-source que centraliza el descubrimiento y el linaje de todos los activos de datos de una organización. Funciona como el "mapa" de tu ecosistema de datos: dónde vive cada tabla, cómo fluye la información y quién es el dueño de cada activo.

¿Para qué sirve?

  • Descubrir datos: indexa tablas, dashboards, pipelines y modelos ML desde decenas de conectores (Snowflake, BigQuery, dbt, Airflow, Superset…) y los expone con búsqueda semántica y filtros por dueño, etiqueta o dominio.
  • Linaje end-to-end: traza automáticamente la cadena fuente → transformación → consumo entre pipelines, tablas y dashboards, facilitando el análisis de impacto ante cambios.
  • Calidad de datos: define y ejecuta tests de calidad directamente sobre las tablas (unicidad, nulls, rangos) y asigna propietarios por activo, para saber a quién preguntar cuando algo cambia.

¿Cuándo usarla / cuándo no?

Úsala cuando tu organización opera con múltiples herramientas (varios warehouses, orquestadores, herramientas de BI) y el equipo de datos pierde tiempo preguntando "¿dónde está esa tabla?" o "¿quién la actualiza?". Es la elección natural si ya usas dbt, Airflow o Trino y quieres linaje automático sin instrumentación manual.

Piénsalo dos veces si tienes un stack pequeño (una sola base de datos, un equipo de dos personas): el overhead de despliegue y mantenimiento de OpenMetadata puede superar el beneficio. En ese escenario un esquema de comentarios en la base de datos o DataHub Lite puede ser suficiente. Si solo necesitas linaje de dbt, la documentación nativa de dbt docs es más ligera.

Empieza en 1 minuto

La forma más rápida es levantar el stack completo con Docker:

git clone https://github.com/open-metadata/OpenMetadata
cd OpenMetadata/docker/development
docker compose up -d

En unos minutos, la UI estará disponible en http://localhost:8585. Credenciales por defecto: admin / admin.

Desde la interfaz, ve a Settings → Services → Add Service para conectar tu primera fuente de datos. La guía de ingesta detalla cada conector.

# Ejemplo mínimo: leer metadatos vía SDK
pip install openmetadata-ingestion

from metadata.ingestion.ometa.ometa_api import OpenMetadata
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
    OpenMetadataConnection,
    AuthProvider,
)

server_config = OpenMetadataConnection(
    hostPort="http://localhost:8585/api",
    authProvider=AuthProvider.openmetadata,
    securityConfig={"jwtToken": "<tu-jwt>"},
)
metadata = OpenMetadata(server_config)

# Listar todas las tablas indexadas
tables = metadata.list_entities(entity=Table)
for table in tables.entities:
    print(table.fullyQualifiedName.__root__)

La referencia completa de la API y el SDK Python está en docs.open-metadata.org.

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

¿Qué tanto sabes de OpenMetadata?

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

Nº21 · Actualizado 2026-06-08