Cloud Profiler raccoglie e genera report in modo continuativo sulle 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 della sessione.
utilizzando le proprietà di profilazione elencate nella tabella seguente.
Dataproc Serverless per Spark aggiunge le opzioni JVM correlate alle configurazioni spark.driver.extraJavaOptions
e spark.executor.extraJavaOptions
utilizzate per il carico di lavoro.
Opzione | Descrizione | Valore | Predefinito |
---|---|---|---|
dataproc.profiling.enabled |
Abilita la profilazione del carico di lavoro | true o false |
false |
dataproc.profiling.name |
Nome del profilo sul servizio Profiler | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID, dove: |
Note:
- Dataproc Serverless per Spark imposta la versione del profiler sull'UUID del batch o sull'UUID della sessione.
- Profiler supporta i seguenti tipi di carichi di lavoro 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 impostareextraJavaOptions
nel codice. Tieni presente che l'impostazione delle proprietàextraJavaOptions
al momento dell'invio del carico di lavoro non ha la precedenza sulle opzioni di profilazione inviate con il carico di lavoro.
Per un esempio di opzioni profiler utilizzate con un invio in batch, consulta le Esempio di carico di lavoro batch PySpark.
Attiva la profilazione
Completa i passaggi seguenti per attivare la profilazione su un carico di lavoro:
- Attiva il Profiler.
- Se utilizzi un account di servizio VM personalizzato, conceda il ruolo Agente di Cloud Profiler all'account di servizio VM personalizzato. Questo ruolo contiene le autorizzazioni obbligatorie di Profiler.
- Impostare le proprietà di profilazione quando invia un carico di lavoro batch oppure crea un modello di sessione.
Esempio di carico di lavoro batch PySpark
L'esempio seguente utilizza gcloud CLI per inviare un carico di lavoro batch PySpark con il profiling abilitato.
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 conducentePROFILE_NAME-executor
per profilare le attività dell'esecutore Spark
Visualizza profili
Puoi visualizzare i profili da Profiler nella console Google Cloud.