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-Ressourcen profilieren. 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 für Apache Spark hängt die zugehörigen 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 gilt:
  • WORKLOAD_TYPE ist auf batch oder session festgelegt.
  • WORKLOAD_ID ist auf batchId oder sessionId festgelegt.

Hinweise:

  • Bei 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 Profilerstellungsoptionen, 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 der Arbeitslast gesendet wird, werden die Profiling-Optionen, die mit der Arbeitslast gesendet werden, 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 aktiviertem Profiling 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 anzeigen

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

Nächste Schritte