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à.
Registra gli eventi dell'applicazione Spark in Athena
L'editor notebook Athena consente la registrazione standard per Jupyter, Spark e Python. È possibile utilizzarli df.show()
per visualizzare PySpark DataFrame i contenuti o print("Output")
per visualizzare i valori nell'output della cella. I risultati dei calcoli stdout
, stderr
e results
vengono scritti nella posizione del bucket dei risultati delle query in Amazon S3.
Registra gli eventi dell'applicazione Spark su Amazon CloudWatch
Le tue sessioni Athena possono anche scrivere log su Amazon CloudWatch nell'account che stai utilizzando.
Comprendi i flussi di log e i gruppi di log
CloudWatch organizza le attività di log in flussi di log e gruppi di log.
Flussi di log: un flusso di CloudWatch log è una sequenza di eventi di log che condividono la stessa fonte. Ogni fonte separata di log in CloudWatch Logs costituisce un flusso di log separato.
Gruppi di log: in CloudWatch Logs, un gruppo di log è un gruppo di flussi di log che condividono le stesse impostazioni di conservazione, monitoraggio e controllo degli accessi.
Non vi è alcun limite al numero di flussi di log che possono appartenere a un gruppo di log.
In Athena, quando si avvia una sessione di notebook per la prima volta, Athena crea un gruppo di log in CloudWatch cui viene utilizzato il nome del gruppo di lavoro abilitato per Spark, come nell'esempio seguente.
/aws-athena/workgroup-name
Questo gruppo di log riceve un flusso di log per ogni esecutore della sessione che produce almeno un log eventi. Un esecutore è l'unità di calcolo più piccola che una sessione di notebook può richiedere ad Athena. In CloudWatch, il nome del flusso di log inizia con l'ID della sessione e l'ID dell'esecutore.
Per ulteriori informazioni sui gruppi di CloudWatch log e sui flussi di log, consulta Working with log groups and log stream nella Amazon CloudWatch Logs User Guide.
Usa oggetti logger standard in Athena per Spark
In una sessione di Athena for Spark, puoi utilizzare i seguenti due oggetti logger standard globali per scrivere log su Amazon: CloudWatch
-
athena_user_logger — Invia i log solo a. CloudWatch Usa questo oggetto quando desideri registrare le informazioni direttamente nelle tue applicazioni Spark, come nell'esempio seguente. CloudWatch
athena_user_logger.info("CloudWatch log line.")
L'esempio scrive un evento di registro CloudWatch simile al seguente:
AthenaForApacheSpark: 2022-01-01 12:00:00,000 INFO builtins: CloudWatch log line.
-
athena_shared_logger — Invia lo stesso registro sia a che a CloudWatch AWS a scopo di supporto. È possibile utilizzare questo oggetto per condividere i log con AWS team di assistenza per la risoluzione dei problemi, come nell'esempio seguente.
athena_shared_logger.info("Customer debug line.") var = [...some variable holding customer data...] athena_shared_logger.info(var)
L'esempio registra la
debug
riga e il valore dellavar
variabile in CloudWatch Logs e invia una copia di ogni riga a AWS Support.Nota
Per motivi di privacy, il codice di calcolo e i risultati non vengono condivisi con AWS. Assicurati che le tue chiamate
athena_shared_logger
scrivano solo le informazioni che desideri rendere visibili AWS Support.
I logger forniti scrivono eventi tramite Apache Log4jDEBUG
, ERROR
, FATAL
, INFO
, WARN
o WARNING
. Puoi utilizzare la funzione denominata corrispondente sul logger per produrre questi valori.
Nota
Non ricollegare i nomi athena_user_logger
o athena_shared_logger
. In questo modo non sarà possibile scrivere sugli oggetti di registrazione CloudWatch per il resto della sessione.
La procedura seguente mostra come registrare gli eventi dei notebook Athena su Amazon CloudWatch Logs.
Per registrare gli eventi dei notebook Athena su Amazon Logs CloudWatch
-
Segui le istruzioni riportate in Inizia a usare Apache Spark su Amazon Athena per creare un gruppo di lavoro compatibile con Spark in Athena con un nome univoco. In questo tutorial si utilizza il nome del gruppo di lavoro
athena-spark-example
. -
Segui i passaggi illustrati in Fase 7: Crea il tuo taccuino per creare un notebook e avviare una nuova sessione.
-
Nell'editor notebook Athena, in una nuova cella del notebook, inserisci il seguente comando:
athena_user_logger.info("Hello world.")
-
Esegui la cella.
-
Recupera l'ID della sessione corrente effettuando una delle seguenti operazioni:
-
Visualizza l'output della cella (ad esempio
... session=72c24e73-2c24-8b22-14bd-443bdcd72de4
). -
In una nuova cella, esegui il comando magico
%session_id
.
-
-
Salva l'ID della sessione.
-
Con lo stesso Account AWS che stai usando per eseguire la sessione del notebook, apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel riquadro di navigazione della CloudWatch console, scegli Registra gruppi.
-
Nell'elenco dei gruppi di log, scegli il gruppo di log con il nome del gruppo di lavoro Athena abilitato per Spark, come nell'esempio seguente.
/aws-athena/athena-spark-example
La sezione Log streams (Flussi di log) contiene un elenco di uno o più collegamenti ai flussi di log per il gruppo di lavoro. Il nome di ogni flusso di log contiene l'ID della sessione, l'ID dell'esecutore e l'ID univoco UUID separati da caratteri barra.
Ad esempio, se l'ID della sessione è
5ac22d11-9fd8-ded7-6542-0412133d3177
e l'ID dell'esecutore èf8c22d11-9fd8-ab13-8aba-c4100bfba7e2
, il nome del flusso di log è simile al seguente esempio.5ac22d11-9fd8-ded7-6542-0412133d3177/f8c22d11-9fd8-ab13-8aba-c4100bfba7e2/f012d7cb-cefd-40b1-90b9-67358f003d0b
-
Scegli il collegamento del flusso di log della tua sessione.
-
Nella pagina Log events (Eventi di log), visualizza la colonna Message (Messaggio).
Il log eventi per la cella che hai eseguito è simile al seguente:
AthenaForApacheSpark: 2022-01-01 12:00:00,000 INFO builtins: Hello world.
-
Torna all'editor notebook Athena.
-
In una nuova cella, inserisci il seguente codice. Il codice registra una variabile in: CloudWatch
x = 6 athena_user_logger.warn(x)
-
Esegui la cella.
-
Torna alla pagina Registra eventi della CloudWatch console per lo stesso flusso di log.
-
Il flusso di log ora contiene una voce di log eventi con un messaggio simile al seguente:
AthenaForApacheSpark: 2022-01-01 12:00:00,000 WARN builtins: 6