La interfaz de usuario de Apache Spark muestra un número erróneo de trabajos

Problema

Está revisando el número de trabajos de Apache Spark activos en un clúster en la interfaz de usuario de Spark, pero el número es demasiado alto para ser preciso.

Si reinicia el clúster, el número de trabajos que se muestran en la interfaz de usuario de Spark es correcto al principio, pero con el tiempo crece de manera anómala.

Causa

La interfaz de usuario de Spark no es siempre precisa para clústeres grandes o de larga ejecución debido a caídas de eventos. La interfaz de usuario de Spark requiere entradas de finalización para saber cuándo se ha completado un trabajo activo. Si un trabajo pierde esta entrada, debido a errores o a un error inesperado, el trabajo puede dejar de ejecutarse mientras se muestra incorrectamente como activo en la interfaz de usuario de Spark.

Solución

No debe usar la interfaz de usuario de Spark como origen de verdad para los trabajos activos en un clúster.

El método sc.statusTracker().getActiveJobIds() de la API de Spark es una manera confiable de realizar un seguimiento del número de trabajos activos.

Consulte la documentación del seguimiento de estado de Spark para obtener más información.