Résultats et journaux des jobs

Lorsque vous envoyez un job Managed Service pour Apache Spark, Managed Service pour Apache Spark collecte automatiquement le résultat du job et le 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 des jobs, tandis que les journaux de l'exécuteur Spark contiennent les résultats de l'exécutable ou du lanceur de jobs, tels qu'un message spark-submit "Submitted application ... ". 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 faux 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 jobs. 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 faux Doit être défini lors de la création du cluster. Lorsque la valeur est true, les journaux de conteneurs YARN des jobs sont associés à la ressource de jobs. Lorsque la valeur est false, les journaux de conteneurs YARN des jobs 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 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 Managed Service pour Apache Spark jobs, qui inclut l'envoi de jobs via la Google Cloud console, la 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 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
vrai
  • 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 jobs

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 vrai 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 jobs
cluster false (valeur par défaut) faux
  • Pas de flux vers le client
  • Pas dans Cloud Storage
  • Dans Logging : yarn-userlogs sous la ressource de cluster
cluster vrai vrai
  • Pas de flux vers le client
  • Pas dans Cloud Storage
  • Dans Logging : dataproc.job.yarn.container sous la ressource de jobs

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
vrai Dans Logging : dataproc.job.yarn.container sous la ressource de jobs

Jobs Spark envoyés sans utiliser l'API jobs 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 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 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 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 des jobs

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

Console

Pour afficher les résultats des jobs, 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.

Si le job est en cours d'exécution, les résultats sont actualisés périodiquement avec le 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

Les résultats des jobs sont stockés dans Cloud Storage, dans le bucket de préproduction ou dans le bucket que vous avez spécifié lors de la création de votre 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.