From 2ca0b1169feeb3e39384c4dd90cc9a003928f306 Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Mon, 23 Mar 2026 23:41:14 +0100 Subject: [PATCH] docs: update CLAUDE.md with marquez-cli reference MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Actualizada la sección de Marquez en CLAUDE.md para referenciar marquez-cli. Cambios: - Cambió categoría de "Medio - API REST" a "Fácil - CLI Nativo" - Añadida información sobre instalación de marquez-cli - Añadidos ejemplos de uso del CLI (run start/complete/fail, lineage) - Referencia a MARQUEZ_UTILITIES.md para guía completa - Actualizada sección de Scripts Helper con marquez-cli como RECOMENDADO El CLI nativo simplifica la gestión de lineage en comparación con curl/Python. --- CLAUDE.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 7 deletions(-) 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