Questo documento descrive come profilare l'utilizzo delle risorse di Google Cloud Serverless per Apache Spark. Cloud Profiler raccoglie e segnala continuamente
informazioni sull'utilizzo della CPU e sull'allocazione della memoria dell'applicazione. Puoi attivare
la profilazione quando invii un batch o crei un carico di lavoro di sessione
utilizzando le proprietà di profilazione elencate nella tabella seguente.
Google Cloud Serverless per Apache Spark aggiunge le opzioni JVM correlate alle configurazioni spark.driver.extraJavaOptions
e spark.executor.extraJavaOptions
utilizzate per il workload.
Opzione | Descrizione | Valore | Predefinito |
---|---|---|---|
dataproc.profiling.enabled |
Abilitare la profilazione del workload | true o false |
false |
dataproc.profiling.name |
Nome del profilo nel servizio Profiler | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID, dove: |
Note:
- Serverless per Apache Spark imposta la versione del profiler su UUID batch o UUID sessione.
- Profiler supporta i seguenti tipi di workload Spark:
Spark
,PySpark
,SparkSql
eSparkR
. - Un carico di lavoro deve essere eseguito per più di tre minuti per consentire a Profiler di raccogliere e caricare i dati in un progetto.
- Puoi ignorare le opzioni di profilazione inviate con un carico di lavoro creando un
SparkConf
e poi impostandoextraJavaOptions
nel codice. Tieni presente che l'impostazione delle proprietàextraJavaOptions
al momento dell'invio del workload non esegue l'override delle opzioni di profilazione inviate con il workload.
Per un esempio di opzioni del profiler utilizzate con un invio batch, consulta l'esempio di carico di lavoro batch PySpark.
Attiva profilazione
Per attivare la profilazione su un workload:
- Abilita il Profiler.
- Se utilizzi un service account VM personalizzato, concedi il ruolo Agente Cloud Profiler al account di servizio VM personalizzato. Questo ruolo contiene le autorizzazioni Profiler richieste.
- Imposta le proprietà di profilazione quando invii un carico di lavoro batch o crei un modello di sessione.
Esempio di carico di lavoro batch PySpark
Il seguente esempio utilizza gcloud CLI per inviare un batch PySpark con la profilazione abilitata.
gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \ --region=REGION \ --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \ -- other args
Vengono creati due profili:
PROFILE_NAME-driver
per profilare le attività del conducente di SparkPROFILE_NAME-executor
per profilare le attività dell'esecutore Spark
Visualizza profili
Puoi visualizzare i profili da Profiler nella console Google Cloud .
Passaggi successivi
- Consulta Monitorare e risolvere i problemi relativi ai carichi di lavoro Serverless per Apache Spark.