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。
- Profiler 支持以下 Spark 工作负载类型:
Spark
、PySpark
、SparkSql
和SparkR
。 - 工作负载必须运行超过三分钟才能使用 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 控制台中。