Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Monitoraggio con AWS Glue Job Run Insights

Modalità Focus
Monitoraggio con AWS Glue Job Run Insights - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Glue job run insights è una funzionalità AWS Glue che semplifica il debug e l'ottimizzazione dei job. AWS Glue AWS Glue fornisce l'interfaccia utente di Spark e CloudWatch registri e metriche per il monitoraggio dei lavori. AWS Glue Con questa funzionalità, ottieni queste informazioni sull'esecuzione del tuo AWS Glue lavoro:

  • Numero di riga dello script di AWS Glue lavoro che ha avuto un errore.

  • Azione Spark eseguita per l'ultima volta nel piano di query di Spark poco prima dell'errore del processo.

  • Eventi di eccezione Spark correlati all'errore riscontrato in un flusso di log in ordine cronologico.

  • Analisi della causa principale e azione consigliata (come l'ottimizzazione dello script) per risolvere il problema.

  • Eventi Spark comuni (messaggi log relativi a un'azione Spark) con un'azione consigliata che affronta la causa principale.

Tutte queste informazioni sono disponibili utilizzando due nuovi flussi di log nei CloudWatch log dei lavori. AWS Glue

Requisiti

La funzionalità AWS Glue job run insights è disponibile per AWS Glue le versioni 2.0, 3.0, 4.0 e 5.0. Puoi seguire la guida alla migrazione per i lavori esistenti per aggiornarli da AWS Glue versioni precedenti.

Abilitare Job Run Insights per un AWS Glue ETL job

Puoi abilitare Job Run Insights tramite AWS Glue Studio o ilCLI.

AWS Glue Studio

Quando si crea un lavoro tramite AWS Glue Studio, è possibile abilitare o disabilitare Job Run Insights nella scheda Job Details. Verifica che la casella Genera Job Insights sia selezionata.

Abilitazione di informazioni dell'esecuzione del processo in AWS Glue Studio.

Riga di comando

Se si crea un lavoro tramiteCLI, è possibile avviare un processo con un unico nuovo parametro di lavoro:--enable-job-insights = true.

Per impostazione predefinita, i flussi di log di informazioni dell'esecuzione del processo vengono creati nello stesso gruppo di log predefinito utilizzato da Registrazione continua AWS Glue, cioè /aws-glue/jobs/logs-v2/. È possibile impostare il nome del gruppo di log personalizzato, i filtri di log e le configurazioni del gruppo di log utilizzando lo stesso set di argomenti per la registrazione continua. Per ulteriori informazioni, vedere Abilitazione della registrazione continua per i AWS Glue lavori.

Accesso al job run insights registra i flussi in CloudWatch

Con la funzione di informazioni dell'esecuzione del processo abilitata, potrebbero esserci due flussi di log creati quando un processo non riesce. Quando un processo termina correttamente, nessuno dei flussi viene generato.

  1. Flusso di log analisi delle eccezioni: <job-run-id>-job-insights-rca-driver. Questo flusso fornisce quanto segue:

    • Numero di riga dello script di AWS Glue lavoro che ha causato l'errore.

    • Azione Spark eseguita per ultima nel piano di query Spark ()DAG.

    • Eventi brevi in ordine cronologico dal driver e dagli esecutori Spark correlati all'eccezione. Se necessario, è possibile trovare dettagli come i messaggi di errore completi, l'attività Spark non riuscita e il relativo ID esecutori che consentono di concentrarsi sul flusso di log dell'esecutore specifico per un'indagine più approfondita.

  2. Flusso di informazioni basato su regole:

    • Analisi della causa principale e consigli su come correggere gli errori (ad esempio l'utilizzo di un parametro di lavoro specifico per ottimizzare le prestazioni).

    • Eventi Spark rilevanti come base per l'analisi della causa principale e un'azione consigliata.

Nota

Il primo flusso esiste solo se sono disponibili eventi di eccezione Spark per un'esecuzione del processo non riuscita e il secondo stream esisterà solo se sono disponibili informazioni per l'esecuzione del processo non riuscita. Ad esempio, se il processo termina correttamente, nessuno dei flussi verrà generato. Se il processo fallisce ma non esiste una regola definita dal servizio che può corrispondere allo scenario di errore, verrà generato solo il primo flusso.

Se il job viene creato da AWS Glue Studio, i link agli stream precedenti sono disponibili anche nella scheda dei dettagli del job run (Job run insights) come «Log di errore concisi e consolidati» e «Analisi e guida agli errori».

La pagina Dettagli dell'esecuzione del processo che include collegamenti ai flussi di log.

Esempio di Job Run Insights AWS Glue

In questa sezione, presentiamo un esempio di come la funzione Informazioni dell'esecuzione del processo può essere d'aiuto nella risoluzione di un problema nel processo non riuscito. In questo esempio, un utente ha dimenticato di importare il modulo richiesto (tensorflow) in un AWS Glue job per analizzare e creare un modello di machine learning sui propri dati.

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.types import * from pyspark.sql.functions import udf,col args = getResolvedOptions(sys.argv, ['JOB_NAME']) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.spark_session job = Job(glueContext) job.init(args['JOB_NAME'], args) data_set_1 = [1, 2, 3, 4] data_set_2 = [5, 6, 7, 8] scoresDf = spark.createDataFrame(data_set_1, IntegerType()) def data_multiplier_func(factor, data_vector): import tensorflow as tf with tf.compat.v1.Session() as sess: x1 = tf.constant(factor) x2 = tf.constant(data_vector) result = tf.multiply(x1, x2) return sess.run(result).tolist() data_multiplier_udf = udf(lambda x:data_multiplier_func(x, data_set_2), ArrayType(IntegerType(),False)) factoredDf = scoresDf.withColumn("final_value", data_multiplier_udf(col("value"))) print(factoredDf.collect())

Senza la funzione di Informazioni dell'esecuzione del processo, data la non riuscita del processo, viene visualizzato solo questo messaggio generato da Spark:

An error occurred while calling o111.collectToPython. Traceback (most recent call last):

Il messaggio è ambiguo e limita l'esperienza di debug. In questo caso, questa funzionalità fornisce informazioni aggiuntive in due flussi di log: CloudWatch

  1. Il flusso di log job-insights-rca-driver:

    • Eventi eccezioni: questo flusso di log fornisce gli eventi di eccezione Spark relativi all'errore raccolto dal driver Spark e dai diversi lavoratori distribuiti. Questi eventi ti aiutano a comprendere la propagazione ordinata nel tempo dell'eccezione man mano che il codice difettoso viene eseguito tra le attività, gli esecutori e le fasi di Spark distribuite tra i worker. AWS Glue

    • Numeri riga: questo flusso di log identifica la riga 21, che ha eseguito la chiamata per importare il modulo Python mancante che ha causato l'errore; identifica anche la riga 24, la chiamata all'azione Spark collect(), come ultima riga eseguita nello script.

    Il flusso di log. job-insights-rca-driver
  2. Il flusso di log job-insights-rule-driver:

    • Causa principale e raccomandazione: oltre al numero di riga e al numero dell'ultima riga eseguita per l'errore nello script, questo flusso di log mostra l'analisi della causa principale e la raccomandazione per seguire il AWS Glue documento e impostare i parametri di lavoro necessari per utilizzare un modulo Python aggiuntivo nel lavoro. AWS Glue

    • Evento base: questo flusso di log mostra anche l'evento di eccezione Spark che è stato valutato con la regola definita dal servizio per dedurre la causa principale e fornire una raccomandazione.

    Il flusso di job-insights-rule-driver log.
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.