Cloud Profiler collecte et génère des rapports en continu
des informations sur l'utilisation du processeur
et l'allocation de mémoire de l'application. Vous pouvez activer le profilage
lorsque vous envoyez un lot ou créez une charge de travail de session
à l'aide des propriétés de profilage répertoriées dans le tableau suivant.
Dataproc sans serveur pour Spark ajoute des options JVM associées aux
spark.driver.extraJavaOptions
et spark.executor.extraJavaOptions
de configuration utilisées pour la charge de travail.
Option | Description | Valeur | Par défaut |
---|---|---|---|
dataproc.profiling.enabled |
Activer le profilage de la charge de travail | true ou false |
false |
dataproc.profiling.name |
Nom du profil sur le service Profiler | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID, où : |
Remarques :
- Dataproc sans serveur pour Spark définit la version du profileur sur : UUID par lot ou l'UUID de session.
- Profiler est compatible avec les types de charges de travail Spark suivants:
Spark
,PySpark
,SparkSql
etSparkR
. - Une charge de travail doit s'exécuter pendant plus de trois minutes pour permettre à Profiler de collecter et d'importer des données dans un projet.
- Vous pouvez remplacer les options de profilage envoyées avec une charge de travail en créant un
SparkConf
, puis en définissantextraJavaOptions
dans votre code. Notez que définir des propriétésextraJavaOptions
lorsque la charge de travail est envoyée ne remplace pas les options de profilage envoyées avec la charge de travail.
Pour obtenir un exemple d'options de profileur utilisées avec un envoi par lots, consultez Exemple de charge de travail par lot PySpark
Activer le profilage
Pour activer le profilage sur une charge de travail, procédez comme suit :
- Activez le profileur.
- Si vous utilisez un compte de service de VM personnalisé, attribuez-lui le rôle Agent Cloud Profiler. Ce rôle contient les ressources Autorisations du profileur.
- Définissez des propriétés de profilage lorsque vous envoyez une charge de travail par lot ou créez un modèle de session.
Exemple de charge de travail par lot PySpark
L'exemple suivant utilise la gcloud CLI pour envoyer un lot PySpark charge de travail avec profilage activé.
gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \ --region=REGION \ --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \ -- other args
Deux profils sont créés :
PROFILE_NAME-driver
pour profiler les tâches du pilote SparkPROFILE_NAME-executor
pour profiler les tâches de l'exécuteur Spark
Afficher les profils
Vous pouvez consulter les profils à partir de Profiler dans la console Google Cloud.