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 processusspark-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 journauxspark-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és de sortie associées à la tâche Dataproc et Spark
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: |
Output |
---|---|
false (valeur par défaut) |
|
true |
|
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: |
dataproc: |
Sortie pilote |
---|---|---|
client | false (valeur par défaut) |
|
client | true |
|
Cluster | false (valeur par défaut) |
|
Cluster | true |
|
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: |
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 ...