本文档介绍了如何分析 Dataproc Serverless for Spark 资源使用情况。Cloud Profiler 会持续收集和报告应用的 CPU 使用率和内存分配信息。您可以在提交批处理作业或创建会话工作负载时使用下表中列出的性能分析属性启用性能分析。Dataproc Serverless for 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,其中: |
备注:
- Dataproc Serverless for Spark 会将性能分析器版本设置为批处理 UUID 或会话 UUID。
- 性能分析器支持以下 Spark 工作负载类型:
Spark
、PySpark
、SparkSql
和SparkR
。 - 工作负载必须运行超过 3 分钟,Profiler 才能收集数据并将其上传到项目中。
- 您可以通过构造
SparkConf
,然后在代码中设置extraJavaOptions
,来替换随工作负载提交的性能分析选项。请注意,在提交工作负载时设置extraJavaOptions
属性不会替换随工作负载提交的性能分析选项。
如需查看与批量提交一起使用的性能分析器选项示例,请参阅 PySpark 批处理工作负载示例。
启用分析
如需对工作负载启用性能分析,请完成以下步骤:
- 启用 Profiler。
- 如果您使用的是自定义虚拟机服务账号,请向自定义虚拟机服务账号授予 Cloud Profiler Agent 角色。此角色包含所需的性能分析器权限。
- 在提交批处理工作负载或创建会话模板时设置性能分析属性。
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 查看配置文件。