Profila l'utilizzo delle risorse Dataproc serverless per Spark

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:
  • 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 ignorare le opzioni di profilazione inviate con un carico di lavoro creando un SparkConf e poi impostare extraJavaOptions 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:

  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. 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 conducente
  • PROFILE_NAME-executor per profilare le attività dell'esecutore Spark

Visualizza profili

Puoi visualizzare i profili da Profiler nella console Google Cloud.

Passaggi successivi