Le metriche di Spark ti consentono di monitorare le prestazioni dei workload batch e di monitorare l'utilizzo delle risorse. Questa visibilità ti aiuta a diagnosticare i colli di bottiglia dell'esecuzione nei driver e negli esecutori. Per impostazione predefinita, Managed Service for Apache Spark raccoglie le metriche Spark disponibili, a meno che non utilizzi le proprietà di raccolta delle metriche Spark per disattivare o sostituire metriche specifiche.
Per ulteriori proprietà che puoi impostare quando invii un workload batch Managed Service for Apache Spark, consulta Proprietà Spark.
Proprietà di raccolta delle metriche di Spark
Puoi utilizzare le proprietà elencate in questa sezione per disattivare o sostituire la raccolta di una o più metriche Spark disponibili.
| Proprietà | Descrizione |
|---|---|
spark.dataproc.driver.metrics |
Utilizzalo per disattivare o eseguire l'override delle metriche del driver Spark. |
spark.dataproc.executor.metrics |
Utilizzala per disattivare o eseguire l'override delle metriche dell'esecutore Spark. |
spark.dataproc.system.metrics |
Utilizzalo per disattivare le metriche di sistema di Spark. |
Esempi di gcloud CLI:
Disattiva la raccolta delle metriche del driver Spark:
gcloud dataproc batches submit spark \ --properties spark.dataproc.driver.metrics="" \ --region=region \ other args ...
Esegui l'override della raccolta delle metriche predefinite del driver Spark per raccogliere solo le metriche
BlockManager:disk.diskSpaceUsed_MBeDAGScheduler:stage.failedStages:gcloud dataproc batches submit spark \ --properties=^~^spark.dataproc.driver.metrics="BlockManager:disk.diskSpaceUsed_MB,DAGScheduler:stage.failedStages" \ --region=region \ other args ...
Metriche Spark disponibili
Managed Service for Apache Spark raccoglie le metriche di Spark elencate in questa sezione, a meno che non utilizzi le proprietà di raccolta delle metriche di Spark per disattivare o sostituire la raccolta.
custom.googleapis.com/METRIC_EXPLORER_NAME.
Metriche del driver Spark
| Metrica | Nome di Metrics Explorer |
|---|---|
| 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 |
Metriche dell'esecutore Spark
| Metrica | Nome di Metrics Explorer |
|---|---|
| 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 |
Metriche di sistema
| Metrica | Nome di Esplora metriche |
|---|---|
| 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 |
Visualizza le metriche di Spark
Per visualizzare le metriche dei batch, fai clic su un ID batch nella pagina Batch di Managed Service for Apache Spark nella consoleGoogle Cloud per aprire la pagina Dettagli del batch, che mostra un grafico delle metriche per il workload batch nella scheda Monitoraggio.
Consulta Cloud Monitoring di Managed Service for Apache Spark per ulteriori informazioni su come visualizzare le metriche raccolte.