Résultats et journaux des jobs

Lorsque vous envoyez un job Managed Service pour Apache Spark, Managed Service pour Apache Spark collecte automatiquement les résultats du job et les met à votre disposition. Cela signifie que vous pouvez rapidement consulter les résultats du job sans avoir à maintenir une connexion au cluster pendant l'exécution de vos jobs ni à parcourir des fichiers journaux compliqués.

Journaux Spark

Il existe deux types de journaux Spark : les journaux du pilote Spark et les journaux de l'exécuteur Spark. Les journaux du pilote Spark contiennent les résultats du job, tandis que les journaux de l'exécuteur Spark contiennent les résultats de l'exécutable ou du lanceur du job, tels qu'un message spark-submit "Submitted application ... " (Application envoyée...). Ils peuvent être utiles pour déboguer les échecs de jobs.

Le pilote de jobs Managed Service pour Apache Spark, qui est distinct du pilote Spark, est un lanceur pour de nombreux types de jobs. Lors du lancement de jobs Spark, il s'exécute en tant que wrapper sur l'exécutable spark-submit sous-jacent, qui lance le pilote Spark. Le pilote Spark exécute le job sur le cluster Managed Service pour Apache Spark en mode Spark client ou cluster:

  • Mode client : le pilote Spark exécute le job dans le processus spark-submit, et les journaux Spark sont envoyés au pilote de jobs Managed Service pour Apache Spark.

  • Mode cluster : le pilote Spark exécute le job dans un conteneur YARN. Les journaux du pilote Spark ne sont pas disponibles pour le pilote de jobs Managed Service pour Apache Spark.

Présentation des propriétés des jobs Managed Service pour Apache Spark et Spark

Propriété Valeur Par défaut Description
dataproc:dataproc.logging.stackdriver.job.driver.enable True ou False False Doit être défini lors de la création du cluster. Lorsque la valeur est true, les résultats du pilote de jobs se trouvent dans Logging, associés à la ressource de job. Lorsque la valeur est false, les résultats du pilote de jobs ne se trouvent pas dans Logging.
Remarque : Les paramètres de propriété de cluster suivants sont également requis pour activer les journaux du pilote de jobs dans Logging. Ils sont définis par défaut lors de la création d'un cluster : dataproc:dataproc.logging.stackdriver.enable=true et dataproc:jobs.file-backed-output.enable=true
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable True ou False False Doit être défini lors de la création du cluster. Lorsque la valeur est true, les journaux des conteneurs YARN du job sont associés à la ressource de job. Lorsque la valeur est false, les journaux des conteneurs YARN du job sont associés à la ressource de cluster.
spark:spark.submit.deployMode client ou cluster client Contrôle le mode client ou cluster de Spark.

Jobs Spark envoyés à l'aide de l'API jobs de Managed Service pour Apache Spark

Les tableaux de cette section indiquent l'effet des différents paramètres de propriété sur la destination des résultats du pilote de jobs Managed Service pour Apache Spark lorsque les jobs sont envoyés via l'API jobs de Managed Service pour Apache Spark, qui inclut l'envoi de jobs via la Google Cloud console, gcloud CLI et les bibliothèques clientes Cloud.

Les propriétés Managed Service pour Apache Spark et Spark listées peuvent être définies avec l'indicateur --properties lors de la création d'un cluster. Elles s'appliqueront à tous les jobs Spark exécutés sur le cluster. Les propriétés Spark peuvent également être définies avec l'indicateur --properties (sans le préfixe "spark:") lorsqu'un job est envoyé à l'API jobs de Managed Service pour Apache Spark. Elles ne s'appliqueront qu'au job.

Résultats du pilote de jobs Managed Service pour Apache Spark

Les tableaux suivants indiquent l'effet des différents paramètres de propriété sur la destination des résultats du pilote de jobs Managed Service pour Apache Spark.

dataproc:
dataproc.logging.stackdriver.job.driver.enable
Sortie
false (valeur par défaut)
  • Flux vers le client
  • Dans Cloud Storage, au niveau de Managed Service pour Apache Spark-generated driverOutputResourceUri
  • Pas dans Logging
true
  • Flux vers le client
  • Dans Cloud Storage, au niveau de Managed Service pour Apache Spark-generated driverOutputResourceUri
  • Dans Logging : dataproc.job.driver sous la ressource de job

Journaux du pilote Spark

Les tableaux suivants indiquent l'effet des différents paramètres de propriété sur la destination des journaux du pilote Spark.

spark:
spark.submit.deployMode
dataproc:
dataproc.logging.stackdriver.job.driver.enable
dataproc:
dataproc.logging.stackdriver.job.yarn.container.enable
Résultats du pilote
client false (valeur par défaut) True ou False
  • Flux vers le client
  • Dans Cloud Storage, au niveau de Managed Service pour Apache Spark-generated driverOutputResourceUri
  • Pas dans Logging
client true True ou False
  • Flux vers le client
  • Dans Cloud Storage, au niveau de Managed Service pour Apache Spark-generated driverOutputResourceUri
  • Dans Logging : dataproc.job.driver sous la ressource de job
cluster false (valeur par défaut) False
  • Pas de flux vers le client
  • Pas dans Cloud Storage
  • Dans Logging : yarn-userlogs sous la ressource de cluster
cluster true True
  • Pas de flux vers le client
  • Pas dans Cloud Storage
  • Dans Logging : dataproc.job.yarn.container sous la ressource de job

Journaux de l'exécuteur Spark

Les tableaux suivants indiquent l'effet des différents paramètres de propriété sur la destination des journaux de l'exécuteur Spark.

dataproc:
dataproc.logging.stackdriver.job.yarn.container.enable
Journal de l'exécuteur
false (valeur par défaut) Dans Logging : yarn-userlogs sous la ressource de cluster
true Dans Logging : dataproc.job.yarn.container sous la ressource de job

Jobs Spark envoyés sans utiliser l'API jobs de Managed Service pour Apache Spark

Cette section indique l'effet des différents paramètres de propriété sur la destination des journaux de jobs Spark lorsque les jobs sont envoyés sans utiliser l'API jobs de Managed Service pour Apache Spark, par exemple lors de l'envoi d'un job directement sur un nœud de cluster à l'aide de spark-submit ou lors de l'utilisation d'un notebook Jupyter ou Zeppelin. Ces jobs ne disposent pas d'ID ni de pilotes de jobs Managed Service pour Apache Spark.

Journaux du pilote Spark

Les tableaux suivants indiquent l'effet des différents paramètres de propriété sur la destination des journaux du pilote Spark pour les jobs qui ne sont pas envoyés via l'API jobs de Managed Service pour Apache Spark.

spark:
spark.submit.deployMode
Résultats du pilote
client
  • Flux vers le client
  • Pas dans Cloud Storage
  • Pas dans Logging
cluster
  • Pas de flux vers le client
  • Pas dans Cloud Storage
  • Dans Logging : yarn-userlogs sous la ressource de cluster

Journaux de l'exécuteur Spark

Lorsque les jobs Spark ne sont pas envoyés via l'API jobs de Managed Service pour Apache Spark, les journaux de l'exécuteur se trouvent dans Logging : yarn-userlogs sous la ressource de cluster.

Afficher les résultats du job

Vous pouvez accéder aux résultats des jobs Managed Service pour Apache Spark dans la Google Cloud console, gcloud CLI, Cloud Storage ou Logging.

Console

Pour afficher les résultats du job, accédez à la section Jobs Managed Service pour Apache Spark de votre projet, puis cliquez sur l'ID du job pour afficher les résultats du job.

Si le job est en cours d'exécution, les résultats du job sont actualisés périodiquement avec nouveau contenu.

Commande gcloud

Lorsque vous envoyez un job à l'aide de la commande gcloud dataproc jobs submit, les résultats du job s'affichent dans la console. Vous pouvez "rejoindre" les résultats ultérieurement, sur un autre ordinateur ou dans une nouvelle fenêtre en transmettant l'ID de votre job à la commande gcloud dataproc jobs wait. L'ID de job est un GUID, tel que 5c1754a5-34f7-4553-b667-8a1199cb9cab. Voici un exemple.

gcloud dataproc jobs wait 5c1754a5-34f7-4553-b667-8a1199cb9cab \
    --project my-project-id --region my-cluster-region
Waiting for job output...
... INFO gcs.GoogleHadoopFileSystemBase: GHFS version: 1.4.2-hadoop2
... 16:47:45 INFO client.RMProxy: Connecting to ResourceManager at my-test-cluster-m/
...

Cloud Storage

Dans Cloud Storage, les résultats des jobs sont stockés dans soit le bucket de préproduction soit le bucket spécifié lors de la création du cluster. Dans Cloud Storage, un lien vers les résultats des jobs est fourni dans le Job.driverOutputResourceUri renvoyé par :

Journalisation

Pour savoir comment afficher les résultats des jobs Managed Service pour Apache Spark dans Logging, consultez la section Journaux Managed Service pour Apache Spark.