Cloud Profiler

Cloud Profiler collecte et signale en permanence des informations sur l'utilisation du processeur et l'allocation de mémoire de vos applications. Suivez la procédure ci-dessous pour activer et utiliser Profiler sur vos tâches Dataproc Spark et Hadoop.

Activer le profilage

  1. Activez le profileur.

  2. Créez un cluster Dataproc avec les champs d'application de compte de service définis sur monitoring pour permettre au cluster de communiquer avec le service de profilage.

gcloud

gcloud dataproc clusters create cluster-name \
    --scopes=cloud-platform \
    --region=region \
    other args ...

Envoyer une tâche Dataproc avec les options de Profiler

  1. Envoyez une tâche Dataproc Spark ou Hadoop avec une ou plusieurs des options Profiler suivantes :
    Option Description Value Obligatoire/Facultative Par défaut Notes
    cloud.profiler.enable Active le profilage de la tâche. true ou false Valeur false
    cloud.profiler.name Nom utilisé pour créer le profil sur le service Profiler profile-name Facultatif UUID de tâche Dataproc
    cloud.profiler.service.version Chaîne fournie par l'utilisateur pour identifier et distinguer les résultats du profileur. Profiler Service Version Facultatif UUID de tâche Dataproc
    mapreduce.task.profile.maps Plage 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.reduces Plage 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

gcloud

Envoi d'une tâche PySpark avec un exemple de profilage :

gcloud dataproc jobs submit pyspark python-job-file \
    --cluster=cluster-name \
    --region=region \
    --jars=jar-file \
    --properties=cloud.profiler.enable=true,cloud.profiler.name=profiler_name,cloud.profiler.service.version=version \
    --  job args

Deux profils seront créés :

  1. profiler_name-driver pour profiler les tâches du pilote Spark
  2. profiler_name-executor pour 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

Envoi de tâche Hadoop (teragen MapReduce) avec un exemple de profilage :

gcloud dataproc jobs submit hadoop \
    --cluster=cluster-name \
    --region=region \
    --jars=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 Cloud Console.

Étape suivante