Profila l'utilizzo delle risorse di Google Cloud Serverless per Apache Spark

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:
  • WORKLOAD_TYPE è impostato su batch o session
  • WORKLOAD_ID è impostato su batchId o sessionId

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 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 impostando extraJavaOptions 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:

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

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

Visualizza profili

Puoi visualizzare i profili da Profiler nella console Google Cloud .

Passaggi successivi