Crie perfis da utilização de recursos do Apache Spark sem servidor do Google Cloud

Este documento descreve como criar perfis de utilização de recursos do Google Cloud Serverless para Apache Spark. O Cloud Profiler recolhe e comunica continuamente informações sobre a utilização da CPU da aplicação e a atribuição de memória. Pode ativar a criação de perfis quando envia um lote ou cria uma carga de trabalho de sessão usando as propriedades de criação de perfis indicadas na tabela seguinte. Google Cloud O Serverless para Apache Spark anexa opções de JVM relacionadas às configurações spark.driver.extraJavaOptions e spark.executor.extraJavaOptions usadas para a carga de trabalho.

Opção Descrição Valor Predefinição
dataproc.profiling.enabled Ative a criação de perfis da carga de trabalho true ou false false
dataproc.profiling.name Nome do perfil no serviço Profiler PROFILE_NAME spark-WORKLOAD_TYPE-WORKLOAD_ID, onde:
  • WORKLOAD_TYPE está definido como batch ou session
  • WORKLOAD_ID está definido como batchId ou sessionId

Notas:

  • O Serverless para Apache Spark define a versão do criador de perfis como o UUID do lote ou o UUID da sessão.
  • O Profiler suporta os seguintes tipos de carga de trabalho do Spark: Spark, PySpark, SparkSql e SparkR.
  • Uma carga de trabalho tem de ser executada durante mais de três minutos para permitir que o Profiler recolha e carregue dados para um projeto.
  • Pode substituir as opções de criação de perfis enviadas com uma carga de trabalho criando um SparkConf e, em seguida, definindo extraJavaOptions no seu código. Tenha em atenção que a definição de propriedades extraJavaOptions quando a carga de trabalho é enviada não substitui as opções de criação de perfis enviadas com a carga de trabalho.

Para ver um exemplo de opções do criador de perfis usadas com um envio em lote, consulte o exemplo de carga de trabalho em lote do PySpark.

Ative a criação de perfis

Conclua os passos seguintes para ativar a criação de perfis numa carga de trabalho:

  1. Ative o Profiler.
  2. Se estiver a usar uma conta de serviço de VM personalizada, conceda a função Agente do Cloud Profiler à conta de serviço de VM personalizada. Esta função contém autorizações do Profiler obrigatórias.
  3. Defina as propriedades de criação de perfis quando envia uma carga de trabalho em lote ou cria um modelo de sessão.

Exemplo de carga de trabalho em lote do PySpark

O exemplo seguinte usa a CLI gcloud para enviar uma carga de trabalho em lote do PySpark com a criação de perfis ativada.

gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \
    --region=REGION \
    --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \
    --  other args

São criados dois perfis:

  • PROFILE_NAME-driver para criar perfis de tarefas de condutor do Spark
  • PROFILE_NAME-executor para criar perfis de tarefas do executor do Spark

Ver perfis

Pode ver perfis do Profiler na Google Cloud consola.

O que se segue?