diff --git a/CLAUDE.md b/CLAUDE.md index b175ed8..cc25b94 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -48,15 +48,27 @@ Este documento describe qué servicios puedo manipular directamente, cuáles req ``` - ✅ **Marquez DB**: Puerto 5433 (para metadata) -### 4. **Marquez (OpenLineage)** (Medio - API REST) -- ✅ **Capacidad**: Enviar eventos de lineage via API +### 4. **Marquez (OpenLineage)** (Fácil - CLI Nativo) +- ✅ **Capacidad**: Enviar eventos de lineage via CLI `marquez-cli` - ✅ **Uso**: Rastrear origen/destino de datos en cada paso +- ✅ **CLI Nativo**: `marquez-cli` (binario Go sin dependencias) +- **Instalación**: + ```bash + cd ~/AutomaticProyects/automatic_process/tools/marquez-cli + make install + ``` - **Ejemplo**: ```bash - curl -X POST http://localhost:5000/api/v1/lineage \ - -H "Content-Type: application/json" \ - -d @lineage_event.json + # Iniciar un run + marquez-cli run start -job my_pipeline -inputs "api://source" + + # Completar run + marquez-cli run complete -job my_pipeline -run-id -outputs "postgres://table" + + # Ver lineage + marquez-cli lineage -name "postgres://localhost:5434/postgres/public/events" ``` +- **Documentación**: Ver `MARQUEZ_UTILITIES.md` para guía completa ### 5. **Logs (Prometheus/Loki)** (Medio - Pushgateway/API) - ✅ **Prometheus**: Exportar métricas vía Pushgateway @@ -210,9 +222,44 @@ handlers: --- -## 🎯 Scripts Helper Necesarios +## 🎯 Scripts Helper Disponibles + +### ✅ `marquez-cli` (RECOMENDADO - Binario Go Nativo) + +**CLI oficial** para gestionar lineage en Marquez. Instalado en `~/.local/bin/marquez-cli`. + +```bash +# Iniciar run +marquez-cli run start -job my_pipeline -inputs "api://source" + +# Marcar progreso +marquez-cli run running -job my_pipeline -run-id \ + -inputs "file:///tmp/raw.json" -outputs "file:///tmp/clean.json" + +# Completar exitosamente +marquez-cli run complete -job my_pipeline -run-id \ + -outputs "postgres://table" + +# Marcar como fallido +marquez-cli run fail -job my_pipeline -run-id + +# Ver lineage +marquez-cli lineage -name "postgres://localhost:5434/postgres/public/events" +``` + +**Documentación completa**: Ver `MARQUEZ_UTILITIES.md` + +**Ejemplos de uso**: +- `~/dagu/scripts/examples/simple_pipeline_with_lineage.sh` +- `~/dagu/scripts/examples/etl_to_postgres_with_lineage.sh` +- `~/dagu/dags/example_lineage_tracking.yaml` + +--- + +### Alternativa: `~/dagu/scripts/log_lineage.py` (Python) + +Solo si no puedes usar `marquez-cli`: -### 1. `~/dagu/scripts/log_lineage.py` ```python #!/usr/bin/env python3 import requests