Compartir a través de


Uso del servidor de historial de Apache Spark extendido para depurar y diagnosticar aplicaciones Spark

En este artículo se proporcionan instrucciones sobre cómo usar el servidor de historial de Apache Spark para depurar y diagnosticar las aplicaciones Apache Spark en ejecución y completadas.

Acceso al servidor de historial de Apache Spark

El servidor de historial de Apache Spark es la interfaz de usuario web para aplicaciones Spark completadas y en ejecución. Puede abrir la interfaz de usuario web de Apache Spark (UI) desde el cuaderno del indicador de progreso o la página de detalles de la aplicación Apache Spark.

Abrir la interfaz de usuario web de Spark desde el cuaderno indicador de progreso

Cuando se activa un trabajo de Apache Spark, el botón para abrir Spark web UI se encuentra dentro de la opción Más acciones del indicador de progreso. Seleccione Spark web UI y espere unos segundos, entonces aparecerá la página Spark UI.

Captura de pantalla que muestra la apertura de Spark web UI desde el cuaderno del indicador de progreso.

Abrir la interfaz web de Spark desde la página de detalles de la aplicación Apache Spark

La interfaz web de Spark también puede abrirse a través de la página de detalles de la aplicación Apache Spark. Seleccione Centro de supervisión en la parte izquierda de la página y, a continuación, seleccione una aplicación Apache Spark. Aparecerá la página de detalles de la aplicación.

Captura de pantalla que muestra la apertura de la interfaz de usuario web de Spark desde la página de detalles de la aplicación Apache Spark.

Para una aplicación Apache Spark cuyo estado es en ejecución, el botón muestra Interfaz de usuario de Spark. Seleccione Interfaz de usuario de Spark y aparecerá la página Interfaz de usuario de Spark.

La captura de pantalla que muestra el botón muestra la Interfaz de usuario de Spark en estado de ejecución.

Para una aplicación Apache Spark cuyo estado es finalizado, el estado finalizado puede ser Detenido, Erróneo, Cancelado, o Completado. El botón muestra Servidor de historial de Spark. Seleccione Servidor de historial de Spark y aparecerá la página de Interfaz de usuario de Spark.

La captura de pantalla que muestra el botón muestra la Interfaz de usuario de Spark en el estado finalizado.

Pestaña Gráfico en el servidor de historial de Apache Spark

Seleccione el id. del trabajo que quiere ver. Después, seleccione Gráfico en el menú de herramientas para obtener la vista de gráfico del trabajo.

Información general

Puede ver la información general del trabajo en el gráfico generado. De forma predeterminada, el gráfico muestra todos los trabajos. Puede filtrar esta vista por Id. de trabajo.

Captura de pantalla que muestra la aplicación Spark y el ID de trabajo del gráfico de trabajo.

Pantalla

De forma predeterminada, está seleccionada la opción para mostrar Progreso. Puede comprobar el flujo de datos; para ello, seleccione Read (Leído) o Written (Escrito) en la lista desplegable Mostrar.

Captura de pantalla que muestra la aplicación Spark y la visualización del gráfico de trabajo.

El nodo de gráfico muestra los colores descritos en la leyenda del mapa térmico.

Captura de pantalla mostrando la aplicación Spark y el mapa de calor del gráfico de trabajo.

Reproducción

Para reproducir el trabajo, seleccione Reproducir. Puede seleccionar Detener en cualquier momento para detener el proceso. Los colores de las tareas muestran distintos estados durante la reproducción:

Color Significado
Verde Correcto: el trabajo se ha completado correctamente.
Naranja Reintentadas: Instancias de tareas que no funcionaron pero que no afectan al resultado final del trabajo. Estas tareas tenían instancias duplicadas o de reintentos que pueden realizarse correctamente más tarde.
Azul En ejecución: la tarea se está ejecutando.
Blanco En espera u omitido: la tarea está esperando para ejecutarse o la fase se ha omitido.
Rojo Con errores: error en la tarea.

La siguiente imagen muestra los colores de estado verde, naranja y azul.

Captura de pantalla que muestra la aplicación Spark y la muestra de colores del gráfico de trabajos, en ejecución.

La siguiente imagen muestra los colores de estado verde y blanco.

Captura de pantalla que muestra la aplicación Spark y la muestra de color del gráfico de trabajo, omitir.

La siguiente imagen muestra los colores de estado rojo y verde.

Captura de pantalla que muestra la aplicación spark y la muestra de color del gráfico de trabajo, fallido.

Nota:

El servidor de historial de Apache Spark permite la reproducción de cada trabajo completado (pero no permite la reproducción de trabajos incompletos).

Zoom

Use la rueda del mouse para acercar y alejar el gráfico del trabajo o seleccione Ajustar al tamaño para ajustarlo a la pantalla.

Captura de pantalla que muestra la aplicación de Spark y el gráfico de trabajo zoom para encajar.

Información sobre herramientas

Mantenga el mouse sobre el nodo del gráfico para ver la información sobre herramientas cuando haya tareas con errores y seleccione una fase para abrir su página.

Captura de pantalla que muestra la aplicación Spark y la información sobre herramientas del gráfico de trabajo.

En la pestaña del gráfico de trabajo, las fases tienen información sobre herramientas y se muestra un icono pequeño si tienen tareas que cumplen las siguientes condiciones:

Condición Descripción
Asimetría de datos Tamaño de lectura de datos > tamaño medio de lectura de datos de todas las tareas dentro de esta etapa * 2 y tamaño de lectura de datos > 10 MB.
Desfase horario Tiempo de ejecución > tiempo medio de ejecución de todas las tareas de esta fase * 2 y tiempo de ejecución > 2 minutos.

Captura de pantalla mostrando la aplicación Spark y el icono de sesgo del gráfico de tareas.

Descripción del nodo de gráfico

El nodo de gráfico de trabajo muestra la siguiente información de cada fase:

  • ID
  • Nombre o descripción
  • Número total de tareas
  • Datos leídos: suma del tamaño de entrada y el tamaño de lectura aleatorio
  • Escritura de datos: la suma del tamaño de salida y el tamaño de las escrituras aleatorias
  • Tiempo de ejecución: tiempo entre la hora de inicio del primer intento y la hora de finalización del último intento
  • Recuento de filas: la suma de registros de entrada, registros de salida, registros de lectura aleatoria y registros de escritura aleatoria.
  • Progreso

Nota:

De forma predeterminada, el nodo del gráfico del trabajo muestra la información del último intento de cada fase (excepto en el tiempo de ejecución de la fase). Sin embargo, durante la reproducción, el nodo del gráfico muestra la información de cada intento.

El tamaño de los datos de lectura y escritura es 1MB = 1000 KB = 1000 * 1000 bytes.

Envío de comentarios

Seleccione Proporcione sus comentarios para enviar comentarios sobre incidencias.

Captura de pantalla que muestra la aplicación spark y la retroalimentación del gráfico de trabajo.

Límite de número de fase

Para tener en cuenta el rendimiento, de forma predeterminada, el gráfico solo está disponible cuando la aplicación Spark tiene menos de 500 fases. Si hay demasiadas fases, se producirá un error similar al siguiente:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

Como solución alternativa, antes de iniciar una aplicación Spark, aplique esta configuración de Spark para aumentar el límite:

spark.ui.enhancement.maxGraphStages 1000

Pero tenga en cuenta que esto puede provocar un rendimiento incorrecto de la página y la API, ya que el contenido puede ser demasiado grande para que el explorador lo capture y represente.

Examen de la pestaña Diagnóstico en el servidor de historial de Apache Spark

Para acceder a la pestaña Diagnóstico, seleccione un Id. de trabajo. Después, seleccione Diagnóstico en el menú de herramientas para obtener la vista Diagnóstico del trabajo. La pestaña de diagnóstico incluye Asimetría de datos, Desfase horario y Análisis de uso del ejecutor.

Para comprobar la Asimetría de datos, el Desfase horario y el Análisis de uso del ejecutor, seleccione las pestañas respectivamente.

Captura de pantalla mostrando de nuevo la pestaña de sesgo de datos de diagnóstico de sparkUI.

Asimetría de datos

Cuando seleccione la pestaña Asimetría de datos, se mostrarán las tareas con sesgos según los parámetros especificados.

  • Especificar parámetros: la primera sección muestra los parámetros que se usan para detectar la Asimetría de datos. La regla predeterminada es: los datos de tarea leídos son más de tres veces la media de los datos de tarea leídos, y los datos de tarea leídos son más de 10 MB. Si desea definir su propia regla para las tareas sesgadas, puede elegir los parámetros. Las secciones Skewed Stage (Fase sesgada) y Skew Chart (Gráfico de sesgo) se actualizarán en consecuencia.

  • Fase sesgada: la segunda sección muestra las etapas que tienen tareas sesgadas que cumplen los criterios especificados anteriormente. Si hay más de una tarea sesgada en una etapa, la tabla de etapas sesgadas sólo muestra la tarea más sesgada (por ejemplo, los datos más grandes para el sesgo de datos).

    Captura de pantalla que muestra la pestaña de datos sesgados del diagnóstico de spark ui.

  • Gráfico de sesgo: cuando se selecciona una fila de la tabla de etapas de sesgo, el gráfico de sesgo muestra más detalles de la distribución de tareas en función de los datos leídos y el tiempo de ejecución. Las tareas sesgadas se marcan en rojo y las tareas normales se marcan en azul. El gráfico muestra hasta 100 tareas de ejemplo y los detalles de la tarea se muestran en el panel inferior derecho.

    Captura de pantalla que muestra el gráfico de inclinación de spark ui para la etapa 10.

Desfase horario

En la pestaña Desfase horario se muestran las tareas sesgadas en función del tiempo de ejecución de la tarea.

  • Especificar parámetros: la primera sección muestra los parámetros que se utilizan para detectar la inclinación del tiempo. Los criterios predeterminados para detectar el desfase horario son: el tiempo de ejecución de la tarea es mayor que tres veces el tiempo de ejecución promedio y el tiempo de ejecución de la tarea es superior a 30 segundos. Puede cambiar los parámetros en función de sus necesidades. Las secciones Fase sesgada y Gráfico sesgado muestran la información de las fases y tareas correspondientes, al igual que la pestaña Datos sesgados descrita anteriormente.

  • Seleccione Desfase horario y, después, se muestran los resultados filtrados en la sección Fase sesgada según los parámetros establecidos en la sección Especificar parámetros. Seleccione un elemento en la sección Fase sesgada, entonces el gráfico correspondiente se dibuja en la sección 3, y los detalles de la tarea se muestran en el panel inferior derecho.

    Captura de pantalla que muestra la sección de diagnóstico de tiempo sesgado de spark ui.

Análisis de uso del ejecutor

Esta característica ha quedado en desuso en Fabric. Si todavía quiere usar esto como solución alternativa, acceda a la página agregando explícitamente "/executorusage" al final de la ruta de acceso "/diagnostic" en la dirección URL, de la siguiente manera:

Captura de pantalla que muestra la modificación de la dirección URL.