Ressourcennutzung profilieren

In diesem Dokument wird beschrieben, wie Sie die Ressourcennutzung von Managed Service for Apache Spark-Ressourcen analysieren. Cloud Profiler erfasst und meldet kontinuierlich Informationen zur CPU-Auslastung und Arbeitsspeicherzuweisung der Anwendung. Sie können das Profiling aktivieren, wenn Sie einen Batch senden oder eine Sitzungsarbeitslast erstellen. Verwenden Sie dazu die in der folgenden Tabelle aufgeführten Profiling-Attribute. Managed Service for Apache Spark hängt die zugehörigen JVM-Optionen an die Konfigurationen spark.driver.extraJavaOptions und spark.executor.extraJavaOptions 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 gilt:
  • WORKLOAD_TYPE ist auf batch oder session festgelegt.
  • WORKLOAD_ID ist auf batchId oder sessionId festgelegt.

Hinweise:

  • Managed Service for Apache Spark legt die Profiler-Version entweder auf die Batch-UUID oder die Sitzungs-UUID fest.
  • 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 die mit einer Arbeitslast eingereichten Profiling-Optionen überschreiben, indem Sie ein SparkConf erstellen und dann extraJavaOptions in Ihrem Code festlegen. Wenn Sie extraJavaOptions-Attribute beim Einreichen der Arbeitslast festlegen, werden die mit der Arbeitslast eingereichten Profiling-Optionen nicht überschrieben.

Ein Beispiel für Profiler-Optionen, die mit einer Batchübermittlung verwendet werden, finden Sie im Beispiel für PySpark-Batcharbeitslast.

Profiling aktivieren

So aktivieren Sie das Profiling für eine Arbeitslast:

  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 Profiler-Berechtigungen.
  3. Legen Sie Profiling-Attribute fest, wenn Sie eine Batcharbeitslast senden oder eine Sitzungsvorlage erstellen.

Beispiel für eine PySpark-Batcharbeitslast

Im folgenden Beispiel wird die gcloud CLI verwendet, um einen PySpark-Batcharbeitslast mit aktivierter Profilerstellung zu senden.

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 ansehen

Sie können sich Profile im Profiler in der Google Cloud -Konsole ansehen.

Nächste Schritte