本文說明如何分析 Serverless for Apache Spark 資源用量。 Google Cloud Cloud Profiler 會持續收集及回報應用程式 CPU 使用率和記憶體分配資訊。提交批次或建立工作階段工作負載時,您可以使用下表列出的剖析屬性啟用剖析功能。Google Cloud Serverless for Apache Spark 會將相關的 JVM 選項附加至工作負載所用的 spark.driver.extraJavaOptions
和 spark.executor.extraJavaOptions
設定。
選項 | 說明 | 值 | 預設 |
---|---|---|---|
dataproc.profiling.enabled |
啟用工作負載的剖析功能 | true 或false |
false |
dataproc.profiling.name |
Profiler 服務中的設定檔名稱 | PROFILE_NAME | spark-WORKLOAD_TYPE-WORKLOAD_ID,其中: |
注意:
- Serverless for Apache Spark 會將剖析器版本設為批次 UUID 或工作階段 UUID。
- 分析器支援下列 Spark 工作負載類型:
Spark
、PySpark
、SparkSql
和SparkR
。 - 工作負載必須執行超過三分鐘,Profiler 才能收集資料並上傳至專案。
- 您可以建構
SparkConf
,然後在程式碼中設定extraJavaOptions
,藉此覆寫隨工作負載提交的剖析選項。請注意,提交工作負載時設定extraJavaOptions
屬性,不會覆寫工作負載提交的剖析選項。
如需搭配批次提交作業使用的剖析器選項範例,請參閱 PySpark 批次工作負載範例。
啟用剖析功能
如要對工作負載啟用剖析功能,請完成下列步驟:
- 啟用分析器。
- 如果您使用自訂 VM 服務帳戶,請將 Cloud Profiler 代理程式角色授予自訂 VM 服務帳戶。這個角色包含必要的 Profiler 權限。
- 提交批次工作負載或建立工作階段範本時,請設定剖析屬性。
PySpark 批次工作負載範例
以下範例使用 gcloud CLI 提交已啟用剖析功能的 PySpark 批次工作負載。
gcloud dataproc batches submit pyspark PYTHON_WORKLOAD_FILE \ --region=REGION \ --properties=dataproc.profiling.enabled=true,dataproc.profiling.name=PROFILE_NAME \ -- other args
系統會建立兩個設定檔:
PROFILE_NAME-driver
,用於剖析 Spark 驅動程式工作PROFILE_NAME-executor
,即可剖析 Spark 執行者工作
查看設定檔
您可以在 Google Cloud 控制台的「Profiler」中查看設定檔。