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.
-
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.