Ressourcennutzung von Dataproc Serverless for Spark analysieren

Cloud Profiler erfasst und meldet kontinuierlich Informationen zur CPU-Auslastung und Speicherzuweisung der Anwendung. Sie können die Profilerstellung aktivieren wenn Sie einen Batch senden oder eine Sitzungsarbeitslast erstellen mithilfe der Profilerstellungseigenschaften, die in der folgenden Tabelle aufgeführt sind. Dataproc Serverless for Spark hängt die entsprechenden JVM-Optionen an die spark.driver.extraJavaOptions- und spark.executor.extraJavaOptions-Konfigurationen an, die für die Arbeitslast verwendet werden.

Option Beschreibung Wert Standard
dataproc.profiling.enabled Profilerstellung für die Arbeitslast aktivieren true oder false false
dataproc.profiling.name Profilname im Profiler-Dienst PROFILE_NAME spark-WORKLOAD_TYPE-WORKLOAD_ID, wobei:
  • WORKLOAD_TYPE ist auf batch oder session festgelegt.
  • WORKLOAD_ID ist auf batchId oder sessionId festgelegt.

Hinweise:

  • Dataproc Serverless for Spark legt die Profiler-Version entweder auf die Batch-UUID oder die UUID der Sitzung.
  • Profiler unterstützt die folgenden Spark-Arbeitslasttypen: Spark, PySpark, SparkSql und SparkR.
  • Eine Arbeitslast muss länger als drei Minuten ausgeführt werden, damit Profiler Daten zum Projekt erfassen und hochladen kann.
  • Sie können Profilerstellungsoptionen überschreiben, die mit einer Arbeitslast gesendet wurden, indem Sie eine SparkConf und legen Sie dann extraJavaOptions in Ihrem Code fest. Beachten Sie, dass extraJavaOptions-Attribute beim Senden der Arbeitslast festgelegt werden die Profilerstellungsoptionen, die mit der Arbeitslast gesendet wurden, nicht überschrieben.

Ein Beispiel für Profiler-Optionen, die bei einer Batchübermittlung verwendet werden, finden Sie in der Beispiel für PySpark-Batcharbeitslast

Profiling aktivieren

Führen Sie die folgenden Schritte aus, um die Profilerstellung für eine Arbeitslast zu aktivieren:

  1. Aktivieren Sie den Profiler.
  2. Wenn Sie ein benutzerdefiniertes VM-Dienstkonto verwenden, weisen Sie dem benutzerdefinierten VM-Dienstkonto die Rolle Cloud Profiler-Agent zu. Diese Rolle enthält die erforderlichen Profilerberechtigungen.
  3. Legen Sie Profiling-Eigenschaften fest, wenn Sie eine Batch-Arbeitslast einreichen oder eine Sitzungsvorlage erstellen.

Beispiel für eine PySpark-Batcharbeitslast

Im folgenden Beispiel wird mit der gcloud CLI eine PySpark-Batcharbeitslast mit aktiviertem Profiling gesendet.

gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \
    --region=REGION \
    --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \
    --  other args

Es werden zwei Profile erstellt:

  • PROFILE_NAME-driver zur Profilerstellung für Spark-Treiberaufgaben
  • PROFILE_NAME-executor zur Profilerstellung der Spark Executor-Aufgaben

Profile anzeigen

Sie können Profile in Profiler ansehen. in der Google Cloud Console.

Nächste Schritte