Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 4 de 5
Event logs y cluster logs
Escoge event logs, driver logs o executor logs según el fallo y entiende cómo modo de acceso y retención limitan la investigación.
- Duración
- 17 min aprox.
- Objetivo
- Escoge event logs, driver logs o executor logs según el fallo y entiende cómo modo de acceso y retención limitan la investigación.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Spark UI, Query Profile y system tables
Combina señales de ejecución, plataforma y datos para reducir el tiempo de diagnóstico.
- Localizar cuellos en Spark UI y Query Profile
- Consultar historial de Jobs y auditoría
- Usar CLI y REST para automatizar diagnóstico
04DiagnósticoEvent logs y cluster logs
Escoge event logs, driver logs o executor logs según el fallo y entiende cómo modo de acceso y retención limitan la investigación.
+
Event logs y cluster logs
Escoge event logs, driver logs o executor logs según el fallo y entiende cómo modo de acceso y retención limitan la investigación.
El compute event log explica creación, cambios, escalado y terminación. Driver stdout/stderr/log4j contiene excepciones de planificación y aplicación; los worker/executor logs ayudan cuando una tarea concreta falla. Spark UI conserva detalle del runtime activo, pero reiniciar compute puede perder la vista histórica; configura entrega de logs cuando la política de soporte exige retención externa.
El acceso depende del modo de compute. En standard, los usuarios no ven todos los logs de executor y sólo admins acceden a ciertos driver logs; en dedicated, el principal asignado obtiene más visibilidad. No registres payloads, secretos o tokens para facilitar depuración. Usa correlation IDs y métricas estructuradas que permitan unir el fallo con job/run sin exponer datos.
Modelo mental
Los logs se eligen por frontera de fallo. El event log de Spark describe eventos estructurados de aplicación y permite reconstruir jobs, stages y executors; el driver log contiene coordinación, stack traces del proceso principal y salida de usuario; el executor log contiene fallos dentro de tareas y procesos distribuidos. Mirar el archivo equivocado produce silencio o ruido. El modo de acceso determina quién puede ver logs y la retención local puede terminar al cerrar compute, por lo que incidentes críticos requieren entrega gobernada. Un log no es una fuente inocua: puede incluir rutas, parámetros, consultas o datos, así que permisos y redacción forman parte de observabilidad.
Secuencia estructurada de eventos de una aplicación usada para reconstruir su ejecución y Spark UI.
Permite análisis posterior aunque el compute ya no exista, si se configuró persistencia adecuada.Salida y errores del proceso que planifica, coordina y ejecuta código local de la aplicación.
Es la fuente para fallos de inicialización, planificación, librerías del driver y recopilación de resultados.Salida y excepciones de los procesos que ejecutan tareas sobre particiones distribuidas.
Localiza errores dependientes de datos, memoria o entorno que sólo ocurren en ciertos workers.import json
import logging
logger = logging.getLogger("orders_pipeline")
logger.setLevel(logging.INFO)
logger.info(json.dumps({
"event": "quality_gate_completed",
"run_id": dbutils.widgets.get("run_id"),
"table": "prod.silver.orders",
"invalid_rows": invalid_count,
"contains_customer_data": False,
}))Evita imprimir registros fallidos completos; guarda muestras sensibles sólo en una cuarentena gobernada.
Puntos clave
- Event log describe ciclo de vida; driver logs, aplicación; executor logs, tareas concretas.
- Planifica retención antes del incidente.
- El modo de acceso condiciona quién puede investigar cada señal.
Evita
- Reiniciar compute antes de capturar evidencia que no tiene entrega persistente.
- Añadir `print(df.collect())` y filtrar datos personales a logs operativos.
Recuerdo activo