Résultat du pilote de tâche Dataproc

Lorsque vous envoyez une tâche Dataproc, Dataproc collecte automatiquement le résultat de la tâche et la met à votre disposition. Vous pouvez ainsi examiner rapidement le résultat de la tâche sans avoir à maintenir une connexion au cluster pendant que vos tâches s'exécutent ou parcourent des fichiers journaux complexes.

Options de sortie de la tâche Spark

Le pilote de tâche Dataproc est un lanceur pour de nombreux types de tâches. Lors du lancement des tâches Spark, celui-ci 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 la tâche sur le cluster Dataproc en mode Spark client ou cluster :

  • Le mode client permet d'exécuter la tâche dans le processus spark-submit, et les journaux Spark sont envoyés au pilote de tâche Dataproc.

  • Mode cluster: le pilote Spark exécute la tâche dans un conteneur YARN. Les journaux de pilotes Spark ne sont pas disponibles pour le pilote de tâche Dataproc et ne contiennent que des journaux spark-submit (par exemple, application envoyée xxx). Les journaux de sortie et d'exécuteur de Spark sont contenus dans les journaux de conteneur YARN.

Les tableaux suivants répertorient les propriétés Dataproc et Spark qui affectent la destination du pilote de tâche Dataproc et le résultat de la tâche Spark. Les propriétés Dataproc et Spark répertoriées peuvent être définies avec l'option --properties lors de la création d'un cluster. Elles s'appliquent à toutes les tâches Spark exécutées sur le cluster. Les propriétés Spark peuvent également être définies avec l'option --properties (sans le préfixe &spark:") lors de l'envoi d'une tâche. Elles ne s'appliqueront qu'à la tâche.

Propriété Valeur Default Description
dataproc:dataproc.logging.stackdriver.job.driver.enable True ou False false Lorsque true, les résultats du pilote de tâche sont enregistrés dans Logging et associés à la ressource de la tâche, tandis que false indique qu'ils ne le sont pas dans Logging.
dataproc:dataproc.logging.stackdriver.job.yarn.container.enable True ou False false Lorsque true, les journaux du conteneur YARN sont associés à la ressource de la tâche. Lorsque false est consigné, ces journaux sont associés à la ressource du cluster.
spark:spark.submit.deployMode client ou cluster client Contrôle le mode Spark client ou cluster.

Résultat du pilote de tâche Dataproc

Les tableaux suivants répertorient les effets de différents paramètres de propriété sur la destination du résultat du pilote de tâche Dataproc.

dataproc:
dataproc.logging.stackdriver.job.driver.enable
Output
false (valeur par défaut)
  • Streaming pour le client
  • Dans Cloud Storage, l'élément driverOutputResourceUri généré par Dataproc
  • Pas dans Logging
true
  • Streaming pour le client
  • Dans Cloud Storage, l'élément driverOutputResourceUri généré par Dataproc
  • Dans Logging: dataproc.job.driver sous la ressource de tâche

Sortie du pilote Spark

Les tableaux suivants répertorient les effets des différents paramètres de propriété sur la destination du résultat du pilote Spark.

spark:
spark.submit.deployMode
dataproc:
dataproc.logging.stackdriver.job.driver.enable
Sortie pilote
client false (valeur par défaut)
  • Streaming pour le client
  • Dans Cloud Storage, l'élément driverOutputResourceUri généré par Dataproc
  • Pas dans Logging
client true
  • Streaming pour le client
  • Dans Cloud Storage, l'élément driverOutputResourceUri généré par Dataproc
  • Dans Logging : dataproc.job.driver sous la ressource de tâche
Cluster false (valeur par défaut)
  • Non diffusé au client
  • Pas dans Cloud Storage
  • Dans Logging yarn-userlogs sous la ressource de cluster
Cluster true
  • Non diffusé au client
  • Pas dans Cloud Storage
  • Dans Logging : dataproc.job.yarn.container sous la ressource de tâche

Résultat de l'exécuteur Spark

Les tableaux suivants répertorient les effets de différents paramètres de propriété sur la destination de la sortie de l'exécuteur Spark.

dataproc:
dataproc.logging.stackdriver.job.yarn.container.enable
Résultat 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 tâche

Afficher le résultat de la tâche

Vous pouvez accéder au résultat du pilote de tâche Dataproc à l'aide de Cloud Console, de la CLI gcloud ou de Cloud Storage.

Console

Pour afficher les résultats de la tâche, accédez à la section Tâches de Dataproc pour votre projet, puis cliquez sur l'ID de tâche.

Si la tâche est en cours d'exécution, le résultat de la tâche est actualisé régulièrement avec le nouveau contenu.

Commande gcloud

Lorsque vous envoyez une tâche avec la commande gcloud dataproc jobsSubmit, le résultat de la tâche est affiché dans la console. Vous pouvez renvoyer, rejoindre ultérieurement, sur un autre ordinateur ou dans une nouvelle fenêtre en transmettant l'ID de votre tâche à la commande gcloud dataproc jobs attend. L'ID de tâche 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

Le résultat de la tâche est stocké dans Cloud Storage, dans le bucket de préproduction ou dans le bucket que vous avez spécifié lors de la création du cluster. Un lien vers la sortie de la tâche dans Cloud Storage est fourni dans le champ Job.driverOutputResourceUri:

  • une requête d'API jobs.get.
  • gcloud dataproc jobs describe job-id.
    $ gcloud dataproc jobs describe spark-pi
    ...
    driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput
    ...