Monitorización de trabajos mediante la interfaz de usuario web de Apache Spark - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Monitorización de trabajos mediante la interfaz de usuario web de Apache Spark

Puede utilizar la interfaz de usuario web de Apache Spark para monitorizar y depurar trabajos de ETL AWS Glue que se ejecutan en el sistema de trabajos AWS Glue, así como aplicaciones de Spark que se ejecutan en puntos de enlace de desarrollo AWS Glue. La interfaz de usuario de Spark le permite comprobar lo siguiente para cada trabajo:

  • La escala de tiempo del evento de cada etapa de Spark

  • Un gráfico acíclico dirigido (DAG) del trabajo

  • Planes físicos y lógicos para consultas de SparkSQL

  • Las variables de entorno de Spark subyacentes para cada trabajo

Para obtener más información sobre el uso de la interfaz de usuario web de Spark, consulta la Interfaz de usuario web en la documentación de Spark. Para obtener orientación sobre cómo interpretar los resultados de la interfaz de usuario de Spark para mejorar el rendimiento de su trabajo, consulte las Prácticas recomendadas para ajustar el rendimiento de AWS Glue para los trabajos de Apache Spark en las Recomendaciones de AWS.

Puede ver la interfaz de usuario de Spark en la consola de AWS Glue para ver los trabajos más recientes. Está disponible cuando un trabajo de AWS Glue se ejecuta en la versión 3.0 o versiones posteriores de AWS Glue y los registros se generan en el formato estándar (en lugar del heredado), que es el predeterminado para los trabajos más recientes. Para obtener más información sobre cómo encontrar la interfaz de usuario de Spark en la consola, consulte Ver información sobre las ejecuciones de trabajos recientes. Para ver otras versiones de AWS Glue, aprovisione su propio servidor de historial. Para obtener más información, consulte Lanzamiento del servidor de historial de Spark.

Puede habilitar la interfaz de usuario de Spark mediante la consola de AWS Glue o la AWS Command Line Interface (AWS CLI). Al habilitar la interfaz de usuario de Spark, los trabajos de ETL de AWS Glue y las aplicaciones de Spark en puntos de conexión de desarrollo de AWS Glue pueden hacer una copia de seguridad de los registros de eventos de Spark en una ubicación que especifique en Amazon Simple Storage Service (Amazon S3). Los registros de eventos respaldados en Amazon S3 se pueden utilizar con la interfaz de usuario de Spark tanto en tiempo real mientras se está ejecutando el trabajo como después de que se haya completado el trabajo. Mientras los registros permanezcan en Amazon S3, la interfaz de usuario de Spark de la consola de AWS Glue puede verlos.

Para usar la interfaz de usuario de Spark en la consola AWS Glue, su rol de consola debe tener el permiso glue:UseGlueStudio. Para obtener más información acerca de este permiso, consulte Creación de políticas de IAM personalizadas para AWS Glue Studio.

Limitaciones:

  • La interfaz de usuario de Spark en la consola de AWS Glue no está disponible para los trabajos ejecutados antes del 20 de noviembre de 2023, ya que están en el formato de registro heredado.

  • La interfaz de usuario de Spark de la consola AWS Glue no admite registros continuos, como los que se generan de forma predeterminada en los trabajos de streaming.

    Puede desactivar los registros acumulativos de un trabajo de streaming al introducir una configuración adicional. Tenga en cuenta que el mantenimiento de archivos de registro muy grandes puede resultar costoso.

    Para desactivar los registros continuos, proporcione la siguiente configuración:

    '--spark-ui-event-logs-path': 'true', '--conf': 'spark.eventLog.rolling.enabled=false'

Ejemplo: interfaz de usuario web de Apache Spark

Este ejemplo le muestra cómo utilizar la interfaz de usuario de Spark para entender su desempeño laboral. Las capturas de pantalla muestran la interfaz de usuario web de Spark proporcionada por un servidor de historial de Spark autogestionado. La interfaz de usuario de Spark en la consola de AWS Glue ofrece vistas similares. Para obtener más información sobre el uso de la interfaz de usuario web de Spark, consulta la Interfaz de usuario web en la documentación de Spark.

A continuación, se muestra un ejemplo de una aplicación Spark que lee desde dos orígenes de datos, realiza una transformación de combinación y la escribe en Amazon S3 en formato Parquet.

import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job from pyspark.sql.functions import count, when, expr, col, sum, isnull from pyspark.sql.functions import countDistinct from awsglue.dynamicframe import DynamicFrame args = getResolvedOptions(sys.argv, ['JOB_NAME']) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.spark_session job = Job(glueContext) job.init(args['JOB_NAME']) df_persons = spark.read.json("s3://awsglue-datasets/examples/us-legislators/all/persons.json") df_memberships = spark.read.json("s3://awsglue-datasets/examples/us-legislators/all/memberships.json") df_joined = df_persons.join(df_memberships, df_persons.id == df_memberships.person_id, 'fullouter') df_joined.write.parquet("s3://aws-glue-demo-sparkui/output/") job.commit()

La siguiente visualización del DAG muestra las diferentes etapas de este trabajo de Spark.


      Captura de pantalla de la interfaz de usuario de Spark que muestra 2 etapas completadas para el trabajo 0.

La siguiente escala de tiempo de eventos para un trabajo muestra el inicio, la ejecución y la terminación de diferentes ejecutores de Spark.


      Captura de pantalla de la interfaz de usuario de Spark que muestra las etapas completadas, fallidas y activas de los diferentes ejecutores de Spark.

En la siguiente pantalla se muestran los detalles de los planes de consulta de SparkSQL:

  • Plan lógico examinado

  • Plan lógico analizado

  • Plan lógico optimizado

  • Plan físico para la ejecución


      Planes de consulta de SparkSQL: planes físicos y planes físicos examinados, analizados y optimizados para su ejecución.