Cloud Profiler

O Cloud Profiler coleta e relata continuamente o uso da CPU do aplicativo e as informações de alocação de memória. Conclua as etapas a seguir para ativar e usar o Profiler nos jobs Spark e Hadoop do Dataproc.

Ativar criação de perfil

  1. Ative o criador de perfil.

  2. Crie um cluster do Dataproc com escopos de conta de serviço definidos como monitoring para permitir que o cluster fale com o serviço de criação de perfil.

gcloud

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

Enviar um job do Dataproc com opções do Profiler

  1. Envie um job do Spark ou do Hadoop do Dataproc com uma ou mais das seguintes opções do Profiler:
    Opção Descrição Valor Obrigatório/Opcional Padrão Notas
    cloud.profiler.enable Ativar a criação de perfil do job true ou false Valor false
    cloud.profiler.name Nome usado para criar perfil no serviço Profiler profile-name Opcional UUID de job do Dataproc
    cloud.profiler.service.version Uma string fornecida pelo usuário para identificar e distinguir os resultados do criador de perfil. Profiler Service Version Opcional UUID de job do Dataproc
    mapreduce.task.profile.maps Intervalo numérico de tarefas de mapa para o perfil (por exemplo, para até 100, especifique "0-100") number range Opcional 0-10000 Aplica-se apenas a jobs de MapReduce do Hadoop
    mapreduce.task.profile.reduces Intervalo numérico de tarefas de redutor para criar o perfil (por exemplo: até 100, especifique "0 a 100") number range Opcional 0-10000 Aplica-se apenas a jobs de MapReduce do Hadoop

Exemplo de PySpark

gcloud

Envio de job do PySpark com exemplo de criação de perfil:

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

Dois perfis serão criados:

  1. profiler_name-driver para criar o perfil das tarefas do driver Spark
  2. profiler_name-executor para criar o perfil das tarefas do executor do spark.

Por exemplo, se o profiler_name for "spark_word_count_job", os perfis spark_word_count_job-driver e spark_word_count_job-executor serão criados.

Exemplo do Hadoop

gcloud

Envio de job do Hadoop (teragen mapreduce) com exemplo de criação de perfil:

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

Ver perfis

Veja perfis do Profiler no Console do Cloud.

A seguir