Este documento descreve como criar o perfil de uso de recursos do Google Cloud Serverless para Apache Spark. O Cloud Profiler coleta e relata continuamente
o uso da CPU do aplicativo e as informações de alocação de memória. É possível ativar
a criação de perfil ao enviar um lote ou criar uma carga de trabalho de sessão
usando as propriedades de criação de perfil listadas na tabela a seguir.
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 | 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 perfil como o UUID do lote ou o UUID da sessão.
- O Profiler oferece suporte aos 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
SparkConfe definindoextraJavaOptionsno código. A definição de propriedadesextraJavaOptionsquando a carga de trabalho é enviada não substitui as opções de criação de perfil enviadas com a carga de trabalho.
Para um exemplo de opções de criador 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 à conta de serviço de VM personalizada. 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-driverpara criar o perfil das tarefas do driver SparkPROFILE_NAME-executorpara criar o perfil das tarefas do executor do spark.
Ver perfis
É possível visualizar perfis do Profiler no Google Cloud console.