Profila l'utilizzo delle risorse di Dataproc Serverless per Spark

Questo documento descrive come eseguire il profiling dell'utilizzo delle risorse di Dataproc Serverless per Spark. Cloud Profiler raccoglie e genera report in modo continuo sull'utilizzo della CPU e sull'allocazione della memoria delle applicazioni. Puoi attivare il profiling 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 Attiva la profilazione del carico di lavoro true o false false
dataproc.profiling.name Nome del profilo nel servizio Profiler PROFILE_NAME spark-WORKLOAD_TYPE-WORKLOAD_ID, dove:
  • WORKLOAD_TYPE è impostato su batch o session
  • WORKLOAD_ID è impostato su batchId o sessionId

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 e SparkR.
  • 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 sostituire le opzioni di profilazione inviate con un carico di lavoro creando un SparkConf e impostando extraJavaOptions nel codice. Tieni presente che l'impostazione delle proprietà extraJavaOptions al momento dell'invio del workload non ha la precedenza sulle 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 la profilazione

Per attivare il profiling in un carico di lavoro, completa i seguenti passaggi:

  1. Attiva il Profiler.
  2. 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.
  3. 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

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 driver Spark
  • PROFILE_NAME-executor per profilare le attività dell'eseguitore Spark

Visualizza profili

Puoi visualizzare i profili da Profiler nella console Google Cloud.

Passaggi successivi