Les métriques Spark vous permettent de surveiller les performances des charges de travail par lot et de suivre l'utilisation des ressources. Cette visibilité vous aide à diagnostiquer les goulots d'étranglement d'exécution au niveau de vos pilotes et exécuteurs. Par défaut, Managed Service pour Apache Spark collecte les métriques Spark disponibles, sauf si vous utilisez les propriétés de collecte des métriques Spark pour désactiver ou remplacer des métriques spécifiques.
Pour connaître les autres propriétés que vous pouvez définir lorsque vous envoyez une charge de travail par lot Managed Service pour Apache Spark, consultez Propriétés Spark.
Propriétés de collecte des métriques Spark
Vous pouvez utiliser les propriétés listées dans cette section pour désactiver ou remplacer la collecte d'une ou de plusieurs métriques Spark disponibles.
| Propriété | Description |
|---|---|
spark.dataproc.driver.metrics |
Utilisez cette option pour désactiver ou remplacer les métriques du pilote Spark. |
spark.dataproc.executor.metrics |
Permet de désactiver ou de remplacer les métriques de l'exécuteur Spark. |
spark.dataproc.system.metrics |
Permet de désactiver les métriques système Spark. |
Exemples de gcloud CLI :
Désactivez la collecte des métriques du pilote Spark :
gcloud dataproc batches submit spark \ --properties spark.dataproc.driver.metrics="" \ --region=region \ other args ...
Remplacez la collecte de métriques du pilote Spark par défaut pour ne collecter que les métriques
BlockManager:disk.diskSpaceUsed_MBetDAGScheduler:stage.failedStages:gcloud dataproc batches submit spark \ --properties=^~^spark.dataproc.driver.metrics="BlockManager:disk.diskSpaceUsed_MB,DAGScheduler:stage.failedStages" \ --region=region \ other args ...
Métriques Spark disponibles
Managed Service pour Apache Spark collecte les métriques Spark listées dans cette section, sauf si vous utilisez les propriétés de collecte des métriques Spark pour désactiver ou remplacer leur collecte.
custom.googleapis.com/METRIC_EXPLORER_NAME.
Métriques du pilote Spark
| Métrique | Nom de l'explorateur de métriques |
|---|---|
| BlockManager:disk.diskSpaceUsed_MB | spark/driver/BlockManager/disk/diskSpaceUsed_MB |
| BlockManager:memory.maxMem_MB | spark/driver/BlockManager/memory/maxMem_MB |
| BlockManager:memory.memUsed_MB | spark/driver/BlockManager/memory/memUsed_MB |
| DAGScheduler:job.activeJobs | spark/driver/DAGScheduler/job/activeJobs |
| DAGScheduler:job.allJobs | spark/driver/DAGScheduler/job/allJobs |
| DAGScheduler:messageProcessingTime | spark/driver/DAGScheduler/messageProcessingTime |
| DAGScheduler:stage.failedStages | spark/driver/DAGScheduler/stage/failedStages |
| DAGScheduler:stage.runningStages | spark/driver/DAGScheduler/stage/runningStages |
| DAGScheduler:stage.waitingStages | spark/driver/DAGScheduler/stage/waitingStages |
Métriques de l'exécuteur Spark
| Métrique | Nom de l'explorateur de métriques |
|---|---|
| ExecutorAllocationManager:executors.numberExecutorsDecommissionUnfinished | spark/driver/ExecutorAllocationManager/executors/numberExecutorsDecommissionUnfinished |
| ExecutorAllocationManager:executors.numberExecutorsExitedUnexpectedly | spark/driver/ExecutorAllocationManager/executors/numberExecutorsExitedUnexpectedly |
| ExecutorAllocationManager:executors.numberExecutorsGracefullyDecommissioned | spark/driver/ExecutorAllocationManager/executors/numberExecutorsGracefullyDecommissioned |
| ExecutorAllocationManager:executors.numberExecutorsKilledByDriver | spark/driver/ExecutorAllocationManager/executors/numberExecutorsKilledByDriver |
| LiveListenerBus:queue.executorManagement.listenerProcessingTime | spark/driver/LiveListenerBus/queue/executorManagement/listenerProcessingTime |
| executor:bytesRead | spark/executor/bytesRead |
| executor:bytesWritten | spark/executor/bytesWritten |
| executor:cpuTime | spark/executor/cpuTime |
| executor:diskBytesSpilled | spark/executor/diskBytesSpilled |
| executor:jvmGCTime | spark/executor/jvmGCTime |
| executor:memoryBytesSpilled | spark/executor/memoryBytesSpilled |
| executor:recordsRead | spark/executor/recordsRead |
| executor:recordsWritten | spark/executor/recordsWritten |
| executor:runTime | spark/executor/runTime |
| executor:shuffleFetchWaitTime | spark/executor/shuffleFetchWaitTime |
| executor:shuffleRecordsRead | spark/executor/shuffleRecordsRead |
| executor:shuffleRecordsWritten | spark/executor/shuffleRecordsWritten |
| executor:shuffleRemoteBytesReadToDisk | spark/executor/shuffleRemoteBytesReadToDisk |
| executor:shuffleWriteTime | spark/executor/shuffleWriteTime |
| executor:succeededTasks | spark/executor/succeededTasks |
| ExecutorMetrics:MajorGCTime | spark/executor/ExecutorMetrics/MajorGCTime |
| ExecutorMetrics:MinorGCTime | spark/executor/ExecutorMetrics/MinorGCTime |
Métriques système
| Métrique | Nom de l'explorateur de métriques |
|---|---|
| agent:uptime | agent/uptime |
| cpu:utilization | cpu/utilization |
| disk:bytes_used | disk/bytes_used |
| disk:percent_used | disk/percent_used |
| memory:bytes_used | memory/bytes_used |
| memory:percent_used | memory/percent_used |
| network:tcp_connections | network/tcp_connections |
Afficher les métriques Spark
Pour afficher les métriques d'un lot, cliquez sur un ID de lot sur la page Lots de Managed Service pour Apache Spark dans la consoleGoogle Cloud pour ouvrir la page Détails du lot, qui affiche un graphique des métriques pour la charge de travail par lot sous l'onglet "Surveillance".
Pour en savoir plus sur l'affichage des métriques collectées, consultez la page Cloud Monitoring de Managed Service pour Apache Spark.