Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso ridurre il numero di log generati dal mio processo AWS Glue?
Il mio processo AWS Glue genera troppi log in Amazon CloudWatch. Desidero ridurre il numero di log generati.
Breve descrizione
I processi Extract/Transform/Load (ETL) in AWS Glue Spark generano molti log che puoi utilizzare per monitorare i guasti interni e diagnosticare i processi che hanno esito negativo. Non puoi controllare il numero di log generati dai processi AWS Glue nelle relative istanze, ma puoi regolare il livello di dettaglio dei log.
Per regolare il livello di dettaglio del log, utilizza i seguenti metodi:
- Attiva l'impostazione del filtro standard per la registrazione continua.
- Utilizza il metodo del contesto Spark setLogLevel.
- Utilizza un file log4j.properties personalizzato.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Attiva l'impostazione del filtro standard per la registrazione continua
Se hai attivato la registrazione continua per il processo, attiva il filtro Standard per l'opzione Log filtering (Filtro log).
Per attivare questo filtro, utilizza AWS CLI per aggiungere i seguenti parametri del processo:
'--enable-continuous-cloudwatch-log': 'true''--enable-continuous-log-filter': 'true'
Nota: la registrazione continua in AWS Glue è disponibile solo in AWS Glue 4.0 e versioni precedenti.
Utilizza il metodo del contesto Spark setLogLevel
Puoi utilizzare il metodo setLogLevel di pyspark.context.SparkContext per impostare il livello di registrazione per il processo. I livelli di registrazione validi sono ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE e WARN. Per ulteriori informazioni, consulta setLogLevel sul sito web Apache Spark.
Per importare il metodo del contesto Spark e impostare il livello di registrazione, aggiungi il seguente codice al processo AWS Glue:
from pyspark.context import SparkContext sc = SparkContext() sc.setLogLevel("new-log-level")
Nota: sostituisci new-log-level con il tuo nuovo livello di registrazione. Il codice influisce sul comportamento del log del driver ma non modifica i log dell'esecutore.
Per ulteriori informazioni, consulta Configuring logging (Configurazione della registrazione) sul sito web Apache Spark.
Utilizza un file log4j.properties personalizzato
AWS Glue 3.0 utilizza Log4j 1 per il comportamento di registrazione e puoi personalizzare questo comportamento con il file log4j.properties. AWS Glue 4.0 utilizza Log4j 2 per il comportamento di registrazione e puoi personalizzare questo comportamento con il file log4j2.properties. Per ulteriori informazioni su Log4j 2, consulta Configuration properties (Proprietà di configurazione) sul sito web Apache Logging Services.
Nota: se applichi un file di configurazione log4j.properties o log4j2.properties personalizzato, AWS Glue disattiva la registrazione continua. Inoltre, le proprietà Log4j personalizzate sono disponibili solo in AWS Glue 4.0 e versioni precedenti.
Puoi includere le preferenze di registrazione nel file log4j2.properties. Quindi puoi caricare il file su Amazon Simple Storage Service (Amazon S3) e utilizzarlo nel processo AWS Glue.
Per utilizzare un file di configurazione personalizzato in AWS Glue 4.0, completa i seguenti passaggi:
-
Crea un file denominato log4j2.properties per impostare il livello del logger root come error.
Esempio di file log4j2.properties:rootLogger.level = error rootLogger.appenderRef.stdout.ref = STDOUT appender.console.type = Console appender.console.name = STDOUT appender.console.target = SYSTEM_ERR appender.console.layout.type = PatternLayout appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %p [%t] %c{2} (%F:%M(%L)): %m%n -
Carica il file log4j2.properties su Amazon S3 e copia l'URI S3 del file.
-
Nel processo AWS Glue, aggiungi i seguenti parametri:
--extra-files, s3://[objectpath]/log4j2.propertiesNota: sostituisci s3://[objectpath]/log4j.properties con l'URI S3 utilizzato nel passaggio precedente.
-
Salva il processo AWS Glue ed eseguilo.
-
Controlla il flusso di log correlato nel gruppo di log /aws-glue/jobs/error.
Informazioni correlate

Contenuto pertinente
AWS UFFICIALEAggiornata un anno fa