Configuration des informations de niveau de journalisation Spark

Examinez les applications qui s'exécutent et identifiez les problèmes qui se produisent en utilisant les journaux générés par l'application Spark IBM Analytics Engine. Les niveaux de journalisation standard disponibles sont ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL et OFF. Par défaut, les journaux d'application Spark Analytics Engine au niveau de journalisation WARN pour les pilotes Spark et OFF pour les programmes d'exécution Spark. Vous pouvez configurer le niveau de journalisation pour afficher des messages pertinents et moins de messages prolixes.

La configuration de journalisation IBM Analytics Engine configure les informations de niveau de journalisation de l'infrastructure Spark. Il n'affecte pas les journaux écrits par le code utilisateur à l'aide de commandes telles que'logger.info()','logger.warn()', 'print ()', ou 'show ()'dans l'application Spark.

Options de configuration

Configurez les journaux IBM Analytics Engine suivants pour configurer le niveau de journalisation de l'application Spark:

  • Journaux du pilote Spark (à l'aide de ae.spark.driver.log.level)
  • Journaux du programme d'exécution Spark (à l'aide de ae.spark.executor.log.level)

Spécifiez l'option dans la section des configurations Spark lors de la mise à disposition d'une instance IBM Analytics Engine ou de la soumission d'une application Spark. Vous pouvez spécifier les valeurs de niveau de journalisation standard suivantes:

  • TOUT
  • TRACE
  • DEBOGAGE
  • INFORMATION
  • WARN
  • ERREUR
  • FATAL
  • DÉSACTIVÉ

La valeur par défaut du niveau de journalisation du pilote est WARN et le niveau de journalisation du programme d'exécution est OFF.

Vous pouvez appliquer la configuration de deux manières:

  • Configuration au niveau de l'instance
  • Configuration au niveau de l'application

Configuration des informations de niveau de journalisation Spark au niveau de l'instance

Au moment de la mise à disposition d'une instance IBM Analytics Engine, spécifiez les configurations de niveau de journalisation sous l'attribut default_config. Pour plus d'informations, voir Configuration Spark par défaut.

Exemple:


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

Configuration des informations de niveau de journalisation Spark au niveau de l'application

Au moment de soumettre un travail, spécifiez les options dans le contenu sous conf. Pour plus d'informations, voir API REST de l'application Spark.

Exemple:


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

Exemple de cas d'utilisation

Définition de la configuration Spark de niveau de journalisation à un niveau d'instance: L'exemple de cas d'utilisation prend en compte le scénario dans lequel vous mettez à disposition une instance IBM Analytics Engine et configurez le niveau de journalisation de sorte que toutes les applications de l'instance se connectent à ERROR.

  1. Définissez les configurations suivantes en tant que configurations Spark par défaut:

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

    Après avoir défini la configuration Spark par défaut, le niveau de journalisation de toutes les applications soumises à l'instance est défini sur ERROR (à condition que le contenu de l'application ne spécifie pas la configuration Spark lors de la soumission).

Définition de la configuration de niveau de journalisation Spark au niveau du travail: L'exemple de scénario d'utilisation prend en compte un scénario dans lequel vous disposez d'une application et le niveau de journalisation est configuré de sorte que les journaux soient consignés au niveau INFO. Vous pouvez spécifier la configuration Spark dans le contenu. Prenez en compte l'exemple de contenu:

{
  "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",
     }
  }
}

Dans l'exemple de cas d'utilisation, l'application Spark remplace la configuration Spark de niveau de journalisation définie au niveau de l'instance, c'est-à-dire ERREUR sur INFO.