Las métricas de Spark te permiten supervisar el rendimiento de las cargas de trabajo por lotes y hacer un seguimiento del uso de recursos. Esta visibilidad te ayuda a diagnosticar cuellos de botella de ejecución en tus controladores y ejecutores. De forma predeterminada, Managed Service para Apache Spark recopila las métricas de Spark disponibles, a menos que uses las propiedades de recopilación de métricas de Spark para inhabilitar o anular métricas específicas.
Para conocer las propiedades adicionales que puedes establecer cuando envías una carga de trabajo por lotes de Managed Service para Apache Spark, consulta Propiedades de Spark.
Propiedades de la recopilación de métricas de Spark
Puedes usar las propiedades que se indican en esta sección para inhabilitar o anular la recopilación de una o más métricas de Spark disponibles.
| Propiedad | Descripción |
|---|---|
spark.dataproc.driver.metrics |
Se usa para inhabilitar o anular las métricas del controlador de Spark. |
spark.dataproc.executor.metrics |
Se usa para inhabilitar o anular las métricas del ejecutor de Spark. |
spark.dataproc.system.metrics |
Se usa para inhabilitar las métricas del sistema de Spark. |
Ejemplos de gcloud CLI:
Inhabilita la recopilación de métricas del controlador de Spark:
gcloud dataproc batches submit spark \ --properties spark.dataproc.driver.metrics="" \ --region=region \ other args ...
Anula la recopilación de métricas del controlador predeterminado de Spark para recopilar solo las métricas
BlockManager:disk.diskSpaceUsed_MByDAGScheduler:stage.failedStages:gcloud dataproc batches submit spark \ --properties=^~^spark.dataproc.driver.metrics="BlockManager:disk.diskSpaceUsed_MB,DAGScheduler:stage.failedStages" \ --region=region \ other args ...
Métricas de Spark disponibles
Managed Service para Apache Spark recopila las métricas de Spark que se indican en esta sección, a menos que uses las propiedades de recopilación de métricas de Spark para inhabilitar o anular su recopilación.
custom.googleapis.com/METRIC_EXPLORER_NAME
Métricas del controlador de Spark
| Métrica | Nombre del Explorador de métricas |
|---|---|
| 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étricas del ejecutor de Spark
| Métrica | Nombre del Explorador de métricas |
|---|---|
| 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étricas del sistema
| Métrica | Nombre del Explorador de métricas |
|---|---|
| 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 |
Visualiza las métricas de Spark
Para ver las métricas de Batch, haz clic en un ID de lote en la página Lotes de Managed Service para Apache Spark en la consola deGoogle Cloud para abrir la página Detalles del lote, que muestra un gráfico de métricas para la carga de trabajo por lotes en la pestaña Supervisión.
Consulta Cloud Monitoring de Managed Service para Apache Spark para obtener información adicional sobre cómo ver las métricas recopiladas.