¿Cómo puedo reducir la cantidad de registros generados por el trabajo de AWS Glue?
Mi trabajo de AWS Glue está generando demasiados registros en Amazon CloudWatch. Quiero reducir la cantidad de registros generados.
Resolución
En el caso de los trabajos de ETL de Spark en AWS Glue, no puede controlar el grado de detalle de los registros generados por las instancias en las que se ejecutan los trabajos de AWS Glue. Los registros son detallados, por lo que se pueden utilizar para supervisar errores internos y ayudar a diagnosticar errores en trabajos. Sin embargo, puede definir los niveles de registro de Spark con los pasos que se indican aquí.
Selección de la configuración de filtro estándar para el registro continuo
Si ha activado el registro continuo en su trabajo, elija el filtro Estándar para la opción Filtrado de registros. Este filtro puede ayudarle a eliminar los mensajes que no le resulten útiles en relación con registros de latidos de Apache Hadoop YARN y de controlador/ejecutor de Apache Spark. Para cambiar la configuración del filtro de registro de su trabajo de AWS Glue, siga estos pasos:
- Abra la consola de AWS Glue.
- En el panel de navegación, elija Trabajos.
- Seleccione el trabajo que desee actualizar.
- Elija Acción y, a continuación, Editar trabajo.
- Despliegue la sección Opciones de monitorización.
- Seleccione Registro continuo.
- En Filtrado de registros, seleccione el filtro Estándar.
- Elija Guardar.
Para cambiar esta configuración desde la Interfaz de la línea de comandos de AWS (AWS CLI), utilice el siguiente comando:
'--enable-continuous-cloudwatch-log': 'true' '--enable-continuous-log-filter': 'true'
Nota: Si se muestran errores al ejecutar comandos de AWS CLI, compruebe si está utilizando la versión más reciente de AWS CLI.
Para obtener más información, consulte Habilitación del registro continuo para trabajos de AWS Glue.
Importante: Aunque se configure el filtro estándar, los registros maestros de la aplicación para los trabajos de Spark se siguen enviando a los grupos /aws-glue/jobs/output y /aws-glue/jobs/error log.
Definición del nivel de registro mediante el método de contexto setLogLevel de Spark
Puede definir el nivel de registro para su trabajo con el método setLogLevel de pyspark.context.SparkContext. Los niveles de registro válidos son ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE y WARN. Para obtener más información, consulte la documentación de Spark correspondiente a setLogLevel.
Utilice el siguiente código para importar el método de contexto de Spark y establecer el nivel de registro para su trabajo:
from pyspark.context import SparkContext sc = SparkContext() sc.setLogLevel("new-log-level")
Nota: No olvide sustituir new-log-level por el nivel de registro que desee establecer para su trabajo.
Para obtener más información, consulte la documentación de Spark en Configuración del registro.
Uso de un archivo personalizado log4j.properties para definir el nivel de registro
Spark utiliza configuraciones de log4j para el registro. Puede incluir las preferencias de registro en un archivo log4j.properties, cargar el archivo en Amazon Simple Storage Service (Amazon S3) y utilizarlo en el trabajo de AWS Glue.
Para hacer referencia al archivo de Amazon S3 en el trabajo, siga estos pasos:
- Abra la consola de AWS Glue.
- En el panel de navegación, elija Trabajos.
- Seleccione el trabajo en el que desee hacer referencia al archivo.
- Elija Acciones y luego Editar trabajo.
- Despliegue la secciónConfiguración de seguridad, bibliotecas de scripts y parámetros de trabajos (opcional).
- Como ruta de los archivos de referencia, pegue toda la ruta de S3 en la que almacenó el archivo log4j.properties.
Para obtener más información, consulte Proporcionar scripts propios personalizados.
Información relacionada
Contenido relevante
- OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 3 años
- ¿Cómo puedo resolver el error «No queda espacio en el dispositivo» en un trabajo de ETL de AWS Glue?OFICIAL DE AWSActualizada hace 2 años