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: |
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
eSparkR
. - 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, definindoextraJavaOptions
no seu código. Tenha em atenção que a definição de propriedadesextraJavaOptions
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:
- Ative o Profiler.
- 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.
- 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 SparkPROFILE_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?
- Consulte o artigo Monitorize e resolva problemas de cargas de trabalho sem servidor para o Apache Spark.