En este documento se describe cómo crear perfiles de uso de recursos de Google Cloud Serverless para Apache Spark. Cloud Profiler recoge información sobre el uso de la CPU y la asignación de memoria de las aplicaciones y genera informes al respecto de forma continua. Puede habilitar la creación de perfiles al enviar un lote o crear una carga de trabajo de sesión mediante las propiedades de creación de perfiles que se indican en la siguiente tabla.
Google Cloud Sin servidor para Apache Spark añade opciones de JVM relacionadas a las configuraciones spark.driver.extraJavaOptions
y spark.executor.extraJavaOptions
que se usan en 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 Profiler | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID, donde: |
Notas:
- Sin servidor para Apache Spark define la versión del generador de perfiles como el UUID del lote o el UUID de la sesión.
- Profiler admite los siguientes tipos de carga de trabajo de Spark:
Spark
,PySpark
,SparkSql
ySparkR
. - Una carga de trabajo debe ejecutarse durante más de tres minutos para que Profiler pueda recoger y subir datos a un proyecto.
- Puedes anular las opciones de creación de perfiles enviadas con una carga de trabajo creando un
SparkConf
y, a continuación, configurandoextraJavaOptions
en tu código. Ten en cuenta que, si se definen propiedades deextraJavaOptions
cuando se envía la carga de trabajo, no se anularán las opciones de creación de perfiles enviadas con la carga de trabajo.
Para ver un ejemplo de opciones de creación de perfiles que se usan con un envío por lotes, consulta el ejemplo de carga de trabajo por lotes de PySpark.
Habilitar la creación de perfiles
Sigue estos pasos para habilitar la creació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 Agente de Cloud Profiler a la cuenta de servicio de VM personalizada. Este rol contiene los permisos de Profiler necesarios.
- Define las propiedades de creación de perfiles cuando envíes una carga de trabajo por lotes o crees una plantilla de sesión.
Ejemplo de carga de trabajo por lotes de PySpark
En el siguiente ejemplo se usa la CLI de gcloud para enviar una carga de trabajo por lotes de PySpark con la creació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 crear perfiles de tareas de controladores de SparkPROFILE_NAME-executor
para crear perfiles de tareas de ejecutores de Spark
Ver perfiles
Puedes ver los perfiles desde Profiler en la consola Google Cloud .