Lorsque vous envoyez une tâche Dataproc, Dataproc recueille automatiquement la sortie de la tâche et la met à votre disposition. Cela signifie que vous pouvez rapidement consulter les résultats de la tâche sans avoir à maintenir une connexion au cluster pendant l'exécution de vos tâches 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. Les journaux de l'exécuteur Spark contiennent un exécutable de job
ou la sortie du lanceur d'applications, par exemple spark-submit
"Demande d'application xxx" un message
peut être utile pour déboguer les échecs de tâches.
Le pilote de tâche Dataproc, qui est distinct du pilote Spark, est un lanceur de nombreux types de tâches. Lors du lancement de jobs Spark, il s'exécute
sur l'exécutable spark-submit
sous-jacent, qui lance Spark
pilote. Le pilote Spark exécute le job sur le cluster Dataproc dans Spark
Mode client
ou cluster
:
Mode
client
: le pilote Spark exécute la tâche dans le processusspark-submit
. et les journaux Spark sont envoyés au pilote de jobs Dataproc.Mode
cluster
: le pilote Spark exécute la tâche dans un conteneur YARN. Pilote Spark les journaux ne sont pas disponibles pour le pilote de jobs Dataproc.
Présentation des propriétés des jobs Dataproc et Spark
Propriété | Valeur | Par défaut | Description |
---|---|---|---|
dataproc:dataproc.logging.stackdriver.job.driver.enable |
True ou False | faux | Doit être défini au moment de la création du cluster. Lorsque true ,
les résultats du pilote de jobs sont dans Logging.
associées à la ressource de job ; lorsque false , pilote de tâches
ne figure pas dans Logging.Remarque: Les paramètres de propriété de cluster suivants sont également requis pour activer les journaux des pilotes de jobs dans Logging. Ils sont définis par défaut lorsqu'un cluster créé: 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 au moment de la création du cluster.
Lorsque la valeur est true , les journaux du conteneur YARN sont associés
avec la ressource du job ; Lorsque false , la tâche est effectuée dans les journaux du conteneur YARN
sont associés à la ressource de cluster. |
spark:spark.submit.deployMode |
client ou cluster | Client | Contrôle le mode Spark client ou cluster . |
Jobs Spark envoyés à l'aide de l'API Dataproc jobs
Les tableaux de cette section listent l'effet de différents paramètres de propriété sur la
destination des résultats du pilote de jobs Dataproc lorsque les jobs sont envoyés
via l'API Dataproc jobs
, qui inclut l'envoi de jobs via le
la console Google Cloud, gcloud CLI et les bibliothèques clientes Cloud.
Les propriétés Dataproc et Spark répertoriées
peut être défini avec l'option --properties
lors de la création d'un cluster, et s'appliquera
à tous les jobs Spark exécutés sur le cluster. Les propriétés Spark peuvent également être définies
l'option --properties
(sans le préfixe "spark:") lorsqu'une tâche est
envoyées à l'API Dataproc jobs
, et ne s'appliqueront qu'à la tâche.
Résultats du pilote de tâches Dataproc
Les tableaux suivants indiquent l'impact des différents paramètres de propriété sur la destination de la sortie du pilote de tâche Dataproc.
dataproc: |
Sortie |
---|---|
false (valeur par défaut) |
|
vrai |
|
Journaux du pilote Spark
Les tableaux suivants répertorient l'effet de différents paramètres de propriété sur la destination des journaux du pilote Spark.
spark: |
dataproc: |
dataproc: |
Sortie du pilote |
---|---|---|---|
Client | false (valeur par défaut) | True ou False |
|
Client | vrai | True ou False |
|
cluster | false (valeur par défaut) | faux |
|
cluster | vrai | vrai |
|
Journaux de l'exécuteur Spark
Les tableaux suivants répertorient l'effet de différents paramètres de propriété sur la destination des journaux de l'exécuteur Spark.
dataproc: |
Journal des exécuteurs |
---|---|
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 job |
Jobs Spark envoyés sans l'API Dataproc jobs
Cette section liste l'effet des différents paramètres de la propriété
destination des journaux de jobs Spark lors de l'envoi de jobs
sans utiliser l'API jobs
Dataproc, par exemple lors de l'envoi
un job directement sur un nœud de cluster à l'aide de spark-submit
ou lorsque vous utilisez un
ou un notebook Zeppelin. Ces tâches ne comportent pas d'ID ni de pilotes de tâches Dataproc.
Journaux du pilote Spark
Les tableaux suivants répertorient l'effet de différents paramètres de propriété sur la
Destination des journaux du pilote Spark pour les jobs non envoyés via l'API jobs
Dataproc.
spark: |
Sortie du pilote |
---|---|
Client |
|
cluster |
|
Journaux de l'exécuteur Spark
Lorsque des jobs Spark ne sont pas envoyés via l'API Dataproc jobs
, l'exécuteur
les journaux se trouvent dans Logging yarn-userlogs
sous la ressource de cluster.
Afficher le résultat du job
Vous pouvez accéder au résultat du job Dataproc dans la console Google Cloud, gcloud CLI, Cloud Storage ou Logging.
Console
Pour afficher le résultat du job, accédez au fichier Dataproc de votre projet Emplois puis cliquez sur l'ID de job pour afficher les résultats.
Si le job est en cours d'exécution, le résultat est régulièrement actualisé avec de nouveaux contenus.
Commande gcloud
Lorsque vous envoyez une tâche avec
gcloud dataproc jobs submit.
, le résultat du job s'affiche dans la console. Vous pouvez "rejoindre"
plus tard, sur un autre ordinateur ou dans
dans une nouvelle fenêtre en transmettant l'ID de votre job
gcloud dataproc jobs wait
. 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
Dans Cloud Storage, le résultat de la tâche est stocké dans le bucket de préproduction ou le bucket spécifié lors de la création du cluster. Un lien vers le résultat du job Cloud Storage est fourni dans la Job.driverOutputResourceUri champ renvoyé par:
- une requête d'API jobs.get.
- une commande gcloud dataproc jobs describe job-id.
$ gcloud dataproc jobs describe spark-pi ... driverOutputResourceUri: gs://dataproc-nnn/jobs/spark-pi/driveroutput ...