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