Ressourcennutzung von Dataproc Serverless for Spark analysieren

In diesem Dokument wird beschrieben, wie Sie die Ressourcennutzung von Dataproc Serverless für Spark analysieren. Cloud Profiler erfasst und meldet kontinuierlich Informationen zur CPU-Auslastung und Speicherzuweisung der Anwendung. Sie können das Profiling aktivieren, wenn Sie einen Batch einreichen oder eine Sitzungsarbeitslast erstellen. Verwenden Sie dazu die in der folgenden Tabelle aufgeführten Profiling-Attribute. 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:

  • In Dataproc Serverless for Spark wird die Profilerversion entweder auf die Batch-UUID oder die Sitzungs-UUID festgelegt.
  • 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 eine SparkConf erstellen und dann extraJavaOptions in Ihrem Code festlegen. Wenn Sie extraJavaOptions-Properties beim Einreichen der Arbeitslast festlegen, werden die mit der Arbeitslast eingereichten Profiling-Optionen nicht überschrieben.

Ein Beispiel für Profileroptionen, die bei der Einreichung eines Batches verwendet werden, finden Sie im Beispiel für eine PySpark-Batcharbeitslast.

Profiling aktivieren

Führen Sie die folgenden Schritte aus, um das Profiling 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 im Profiler in der Google Cloud Console aufrufen.

Nächste Schritte