本文档介绍了如何分析 Google Cloud Serverless for Apache Spark 资源
使用情况。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。
- Profiler 支持以下 Spark 工作负载类型:
Spark、PySpark、SparkSql和SparkR。 - 工作负载必须运行超过 3 分钟,Profiler 才能收集数据并将其上传到项目中。
- 您可以通过构建
SparkConf,然后在代码中设置extraJavaOptions,来替换随工作负载提交的分析选项。 请注意,在提交工作负载时设置extraJavaOptions属性 不会替换随工作负载提交的分析选项。
如需查看与批处理提交搭配使用的分析器选项示例,请参阅 PySpark 批处理工作负载示例。
启用分析
如需对工作负载启用分析,请完成以下步骤:
- 启用 Profiler。
- 如果您使用的是 自定义虚拟机服务账号, 请向该自定义虚拟机服务账号授予 Cloud Profiler Agent 角色。此角色包含所需的 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 执行程序任务
查看性能分析
您可以在控制台中通过 Profiler 查看性能分析。 Google Cloud