Configurazione delle informazioni sul livello di log Spark

Esamina le applicazioni che vengono eseguite e identifica i problemi presenti utilizzando i log generati dall'applicazione Spark IBM Analytics Engine. I livelli di registrazione standard disponibili sono ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL e OFF. Per default, l'applicazione Spark Analytics Engine registra a livello di log WARN per i driver spark e OFF per gli esecutori spark. È possibile configurare il livello di log per visualizzare i messaggi verbose rilevanti e meno.

La configurazione di registrazione IBM Analytics Engine configura le informazioni sul livello di registrazione del framework Spark. Non influisce sui log scritti dal codice utente utilizzando comandi come 'logger.info()', 'logger.warn()', 'print () 'o 'show ()' nell'applicazione Spark.

Configurazione delle opzioni

Configurare i seguenti log IBM Analytics Engine per configurare il livello di log dell'applicazione Spark:

  • Log del driver Spark (utilizzando ae.spark.driver.log.level)
  • Log dell'executor Spark (utilizzando ae.spark.executor.log.level)

Specifica l'opzione nella sezione Configurazioni Spark al momento del provisioning di una istanza IBM Analytics Engine o dell'inoltro di un'applicazione Spark. È possibile specificare i seguenti valori di livello di log standard:

  • ALL
  • TRACE
  • DEBUG
  • INFORMAZIONI
  • WARN
  • ERRORE
  • FATAL
  • Disattivo

Il valore predefinito per il livello di log del driver è WARN e il livello di log dell'executor è OFF.

È possibile applicare la configurazione nei modi seguenti:

  • Configurazione livello istanza
  • Configurazione livello applicazione

Configurazione delle informazioni sul livello di log Spark a livello dell'istanza

Al momento del provisioning di un'istanza IBM Analytics Engine, specifica le configurazioni del livello di log nell'attributo default_config. Per ulteriori informazioni, vedi Configurazione Spark predefinita.

Esempio:


    "default_config": {
        "ae.spark.driver.log.level": "WARN",
        "ae.spark.executor.log.level": "ERROR"
    }

Configurazione delle informazioni sul livello di log Spark a livello dell'applicazione

Al momento dell'invio di un lavoro, specifica le opzioni nel payload in conf. Per ulteriori informazioni, vedi API REST dell'applicazione Spark.

Esempio:


{
     "conf": {
	"ae.spark.driver.log.level":"WARN",
	"ae.spark.executor.log.level":"WARN",
     }
}

Caso di utilizzo di esempio

Impostazione della configurazione Spark a livello di log a un livello di istanza: il caso di utilizzo di esempio considera lo scenario in cui esegui il provisioning di un'istanza IBM Analytics Engine e configuri il livello di log in modo che tutte le applicazioni nel log dell'istanza siano ERROR.

  1. Impostare le seguenti configurazioni come configurazioni Spark predefinite:

    • ae.spark.driver.log.level = ERRORE
    • ae.spark.executor.log.level = ERRORE

    Dopo aver impostato la configurazione Spark predefinita, il livello di log per tutte le applicazioni inoltrate all'istanza è impostato su ERROR (purché il payload dell'applicazione non specifichi la configurazione Spark durante l'invio).

Impostazione della configurazione Spark a livello di log a livello di lavoro: il caso di utilizzo di esempio considera uno scenario in cui si dispone di un'applicazione e il livello di log è configurato in modo che i log siano registrati a livello INFO. È possibile specificare la configurazione spark nel payload. Considerare il payload di esempio:

{
  "application_details": {
     "application": "cos://<application-bucket-name>.<cos-reference-name>/my_spark_application.py",
     "arguments": ["arg1", "arg2"],
     "conf": {
        "spark.hadoop.fs.cos.<cos-reference-name>.endpoint": "https://s3.direct.us-south.cloud-object-storage.appdomain.cloud",
        "spark.hadoop.fs.cos.<cos-reference-name>.access.key": "<access_key>",
        "spark.hadoop.fs.cos.<cos-reference-name>.secret.key": "<secret_key>",
        "spark.app.name": "MySparkApp",
     "ae.spark.driver.log.level":"INFO",
     "ae.spark.executor.log.level":"INFO",
     }
  }
}

Nel caso d'uso di esempio, l'applicazione Spark sovrascrive la configurazione Spark del livello di log impostata al livello di istanza, ERROR to INFO.