Cloud Profiler erfasst und meldet kontinuierlich Informationen zur CPU-Auslastung und Speicherzuweisung der Anwendung. Sie können die Profilerstellung aktivieren
wenn Sie einen Batch senden oder eine Sitzungsarbeitslast erstellen
mithilfe der Profilerstellungseigenschaften, die in der folgenden Tabelle aufgeführt sind.
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:
- Dataproc Serverless for Spark legt die Profiler-Version entweder auf die Batch-UUID oder die UUID der Sitzung.
- 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 Profilerstellungsoptionen überschreiben, die mit einer Arbeitslast gesendet wurden, indem Sie eine
SparkConf
und legen Sie dannextraJavaOptions
in Ihrem Code fest. Beachten Sie, dassextraJavaOptions
-Attribute beim Senden der Arbeitslast festgelegt werden die Profilerstellungsoptionen, die mit der Arbeitslast gesendet wurden, nicht überschrieben.
Ein Beispiel für Profiler-Optionen, die bei einer Batchübermittlung verwendet werden, finden Sie in der Beispiel für PySpark-Batcharbeitslast
Profiling aktivieren
Führen Sie die folgenden Schritte aus, um die Profilerstellung 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 in Profiler ansehen. in der Google Cloud Console.
Nächste Schritte
- Weitere Informationen finden Sie unter Dataproc Serverless-Arbeitslasten überwachen und Fehler beheben.