Ressourcennutzung von Google Cloud Serverless for Apache Spark analysieren

In diesem Dokument wird beschrieben, wie Sie die Ressourcennutzung von Google Cloud Serverless for Apache 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 senden oder eine Sitzungsarbeitslast erstellen. Verwenden Sie dazu die in der folgenden Tabelle aufgeführten Profiling-Attribute. Google Cloud Serverless 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:
  • WORKLOAD_TYPE ist auf batch oder session festgelegt.
  • WORKLOAD_ID ist auf batchId oder sessionId festgelegt.

Hinweise:

  • In Serverless for Apache Spark wird die Profiler-Version 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 Profiling-Optionen, die mit einer Arbeitslast übermittelt wurden, überschreiben, indem Sie ein SparkConf erstellen und dann extraJavaOptions in Ihrem Code festlegen. Hinweis: Wenn Sie extraJavaOptions-Attribute festlegen, wenn die Arbeitslast gesendet wird, werden die Profiling-Optionen, die mit der Arbeitslast gesendet wurden, nicht überschrieben.

Ein Beispiel für Profileroptionen, 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-Batch-Arbeitslast 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