Lorsque vous envoyez un job Dataproc, Dataproc collecte automatiquement les et le met à votre disposition. Cela signifie que vous pouvez examiner rapidement les résultats d'un job sans avoir à gérer de connexion au cluster pendant que vos jobs s'exécutent ou consultent des journaux complexes .
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 job Dataproc, qui est différent du pilote Spark,
est un lanceur d'applications pour 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 tâches 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 est défini, la sortie du pilote de tâches est dans la journalisation, associée à la ressource de tâche. Lorsque false est défini, la sortie du pilote de tâches n'est pas dans la journalisation.Remarque : Les paramètres de propriété de cluster suivants sont également requis pour activer les journaux du pilote de tâches 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 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 client ou cluster de Spark. |
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 aussi être définies
l'option --properties
(sans le préfixe "spark:") lorsqu'une tâche est
envoyés à 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 indiquent l'impact des 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 de l'exécuteur |
---|---|
false (valeur par défaut) | Dans "Logging" (Journalisation) : yarn-userlogs sous la ressource de cluster |
vrai | Dans Logging dataproc.job.yarn.container , sous la ressource de job |
Tâches Spark envoyées sans utiliser 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 n'ont pas d'ID ni de pilotes 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 à la sortie de la tâche Dataproc dans la console Google Cloud, la gcloud CLI, Cloud Storage ou Logging.
Console
Pour afficher le résultat de la tâche, accédez à la section Jobs (Tâches) Dataproc de votre projet, puis cliquez sur l'ID de la tâche pour afficher les résultats.
Si la tâche est en cours d'exécution, le résultat est actualisé périodiquement avec le nouveau contenu.
Commande gcloud
Lorsque vous envoyez une tâche à l'aide de la commande gcloud dataproc jobs submit, le résultat de la tâche s'affiche dans la console. Vous pouvez "retrouver" ces résultats 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 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
Le résultat du job est stocké dans Cloud Storage le bucket de préproduction ou le bucket que vous avez spécifié lors de la création du cluster. Dans Cloud Storage, un lien vers les résultats de la tâche est fourni dans le champ Job.driverOutputResourceUri 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 ...