Cloud Profiler reúne e informa continuamente
el uso de CPU de la aplicación
y la información de asignación de memoria. Puedes habilitar la generación de perfiles
cuando envías un lote o creas una carga de trabajo de sesión
con las propiedades de creación de perfiles que se enumeran en la siguiente tabla.
Dataproc Serverless para Spark agrega opciones de JVM relacionadas a
spark.driver.extraJavaOptions
y spark.executor.extraJavaOptions
parámetros de configuración usados para la carga de trabajo.
Opción | Descripción | Valor | Predeterminado |
---|---|---|---|
dataproc.profiling.enabled |
Habilitar la creación de perfiles de la carga de trabajo | true o false |
false |
dataproc.profiling.name |
Nombre del perfil en el servicio del generador de perfiles | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID, donde: |
Notas:
- Dataproc Serverless para Spark configura la versión del generador de perfiles en el UUID por lotes o el UUID de sesión.
- Profiler admite los siguientes tipos de cargas de trabajo de Spark:
Spark
,PySpark
,SparkSql
ySparkR
. - Una carga de trabajo debe ejecutarse durante más de tres minutos para permitir que Profiler recopile y suba datos a un proyecto.
- Para anular las opciones de generación de perfiles enviadas con una carga de trabajo, crea un
SparkConf
y, luego, configuraextraJavaOptions
en tu código. Ten en cuenta que configurar las propiedadesextraJavaOptions
cuando se envía la carga de trabajo no anula las opciones de generación de perfiles que se envían con la carga de trabajo.
Para ver un ejemplo de las opciones del generador de perfiles que se usan con un envío por lotes, consulta el ejemplo de carga de trabajo por lotes de PySpark.
Habilita la generación de perfiles
Completa los siguientes pasos para habilitar la generación de perfiles en una carga de trabajo:
- Habilita el generador de perfiles.
- Si usas una cuenta de servicio de VM personalizada, otorga el rol de Agente de Cloud Profiler a la cuenta de servicio de VM personalizada. Este rol contiene los permisos necesarios del generador de perfiles.
- Establece las propiedades de creación de perfiles cuando enviar una carga de trabajo por lotes o crea una plantilla de sesión.
Ejemplo de carga de trabajo por lotes de PySpark
En el siguiente ejemplo, se usa gcloud CLI para enviar un lote de PySpark carga de trabajo con la generación de perfiles habilitada.
gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \ --region=REGION \ --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \ -- other args
Se crean dos perfiles:
PROFILE_NAME-driver
para generar un perfil de las tareas del controlador SparkPROFILE_NAME-executor
para generar perfiles de tareas del ejecutor de spark
Ver perfiles
Puedes ver los perfiles del generador de perfiles en la consola de Google Cloud.