Cloud Profiler collecte et signale en permanence des informations sur l'utilisation du processeur et l'allocation de mémoire de vos applications.
Exigences :
Profiler n'est compatible qu'avec les types de tâches Managed Service pour Apache Spark Hadoop et Spark (Spark, PySpark, SparkSql et SparkR).
Les tâches doivent durer plus de trois minutes pour permettre à Profiler de collecter et d'importer des données dans votre projet.
Managed Service pour Apache Spark reconnaît cloud.profiler.enable et les autres propriétés cloud.profiler.* (consultez la section Options de Profiler), puis ajoute les options JVM de profiler pertinentes aux configurations suivantes :
- Spark:
spark.driver.extraJavaOptionsetspark.executor.extraJavaOptions - MapReduce:
mapreduce.task.profileet d'autres propriétésmapreduce.task.profile.*
Activer le profilage
Suivez la procédure ci-dessous pour activer et utiliser Profiler sur vos tâches Managed Service pour Apache Spark Spark et Hadoop.
Créez un cluster Managed Service pour Apache Spark avec les champs d'application de compte de service définis sur
monitoringpour permettre au cluster de communiquer avec le service de profilage.Si vous utilisez un compte de service de VM personnalisé, attribuez-lui le rôle Agent Cloud Profiler. Ce rôle contient les autorisations requises pour le service de profilage.
gcloud
gcloud dataproc clusters create cluster-name \ --scopes=cloud-platform \ --region=region \ other args ...
Envoyer un job Managed Service pour Apache Spark avec les options de Profiler
- Envoyez un job Managed Service pour Apache Spark Spark ou Hadoop avec une ou plusieurs des options Profiler suivantes :
Option Description Value Obligatoire/Facultative Par défaut Notes cloud.profiler.enableActive le profilage de la tâche. trueoufalseValeur falsecloud.profiler.nameNom utilisé pour créer le profil sur le service Profiler profile-name Facultatif UUID du job Managed Service pour Apache Spark cloud.profiler.service.versionChaîne fournie par l'utilisateur pour identifier et distinguer les résultats du profileur. Profiler Service Version Facultatif UUID du job Managed Service pour Apache Spark mapreduce.task.profile.mapsPlage numérique des tâches de mappage à profiler (par exemple, pour 100, indiquez "0-100") number range Facultatif 0-10000 S'applique uniquement aux tâches mapreduce Hadoop. mapreduce.task.profile.reducesPlage numérique des tâches de réducteur à profiler (par exemple, pour 100, indiquez "0-100") number range Facultatif 0-10000 S'applique uniquement aux tâches MapReduce Hadoop.
Exemple PySpark
Google Cloud CLI
Envoi d'une tâche PySpark avec un exemple de profilage :
gcloud dataproc jobs submit pyspark python-job-file \ --cluster=cluster-name \ --region=region \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- job args
Deux profils seront créés :
profiler_name-driverpour profiler les tâches du pilote Sparkprofiler_name-executorpour profiler les tâches de l'exécuteur Spark
Par exemple, si les éléments profiler_name sont "spark_word_count_job", spark_word_count_job-driver et spark_word_count_job-executor sont créés.
Exemple Hadoop
gcloud CLI
Envoi de tâche Hadoop (teragen MapReduce) avec un exemple de profilage :
gcloud dataproc jobs submit hadoop \ --cluster=cluster-name \ --region=region \ --jar=jar-file \ --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \ -- teragen 100000 gs://bucket-name
Afficher les profils
Affichez les profils de Profiler sur la console Google Cloud .
Étape suivante
- Consultez la documentation de Monitoring.
- Consultez la documentation de Logging.
- Découvrez Google Cloud Observability.