Este documento descreve como criar perfis de uso de recursos do Google Cloud Serverless para Apache Spark. O Cloud Profiler coleta e informa continuamente
o uso da CPU do aplicativo e as informações de alocação de memória. É possível ativar a criação de perfis ao enviar um lote ou criar uma carga de trabalho de sessão usando as propriedades de criação de perfis listadas na tabela a seguir.
OGoogle Cloud Serverless para Apache Spark adiciona opções relacionadas da JVM às configurações spark.driver.extraJavaOptions
e spark.executor.extraJavaOptions
usadas para a carga de trabalho.
Opção | Descrição | Valor | Padrão |
---|---|---|---|
dataproc.profiling.enabled |
Ativar a criação de perfil 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, em que: |
Observações:
- 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 criador de perfil é compatível com os seguintes tipos de carga de trabalho do Spark:
Spark
,PySpark
,SparkSql
eSparkR
. - Uma carga de trabalho precisa ser executada por mais de três minutos para permitir que o Profiler colete e faça upload de dados para um projeto.
- É possível substituir as opções de criação de perfil enviadas com uma carga de trabalho construindo um
SparkConf
e definindoextraJavaOptions
no seu código. Definir propriedadesextraJavaOptions
ao enviar a carga de trabalho não substitui as opções de criação de perfil enviadas com ela.
Para um exemplo de opções de criação de perfil usadas com um envio em lote, consulte o Exemplo de carga de trabalho em lote do PySpark.
Ativar criação de perfil
Conclua as etapas a seguir para ativar a criação de perfil em uma carga de trabalho:
- Ative o criador de perfil.
- Se você estiver usando uma conta de serviço de VM personalizada, conceda o papel de agente do Cloud Profiler a essa conta. Esse papel contém as permissões necessárias do Profiler.
- Defina as propriedades de criação de perfil ao enviar uma carga de trabalho em lote ou criar um modelo de sessão.
Exemplo de carga de trabalho em lote do PySpark
O exemplo a seguir usa a CLI gcloud para enviar uma carga de trabalho em lote do PySpark com a criação de perfil ativada.
gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \ --region=REGION \ --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \ -- other args
Dois perfis são criados:
PROFILE_NAME-driver
para criar o perfil das tarefas do driver SparkPROFILE_NAME-executor
para criar o perfil das tarefas do executor do spark.
Ver perfis
É possível conferir perfis do Profiler no console Google Cloud .