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: |
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
undSparkR
. - 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 dannextraJavaOptions
in Ihrem Code festlegen. Wenn SieextraJavaOptions
-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:
- Aktivieren Sie den Profiler.
- 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.
- 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-TreiberaufgabenPROFILE_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
- Weitere Informationen finden Sie unter Dataproc Serverless-Arbeitslasten überwachen und Fehler beheben.