分析 Dataproc Serverless for Spark 资源使用情况

本文档介绍了如何分析 Dataproc Serverless for Spark 资源使用情况。Cloud Profiler 会持续收集和报告应用的 CPU 使用率和内存分配信息。您可以在提交批处理作业或创建会话工作负载时使用下表中列出的性能分析属性启用性能分析。Dataproc Serverless for Spark 会将相关 JVM 选项附加到工作负载使用的 spark.driver.extraJavaOptionsspark.executor.extraJavaOptions 配置中。

选项 说明 默认
dataproc.profiling.enabled 启用对工作负载的分析 truefalse false
dataproc.profiling.name Profiler 服务中的配置文件名称 PROFILE_NAME spark-WORKLOAD_TYPE-WORKLOAD_ID,其中:
  • WORKLOAD_TYPE 设置为 batchsession
  • WORKLOAD_ID 设置为 batchIdsessionId

备注:

  • Dataproc Serverless for Spark 会将性能分析器版本设置为批处理 UUID会话 UUID
  • 性能分析器支持以下 Spark 工作负载类型:SparkPySparkSparkSqlSparkR
  • 工作负载必须运行超过 3 分钟,Profiler 才能收集数据并将其上传到项目中。
  • 您可以通过构造 SparkConf,然后在代码中设置 extraJavaOptions,来替换随工作负载提交的性能分析选项。请注意,在提交工作负载时设置 extraJavaOptions 属性不会替换随工作负载提交的性能分析选项。

如需查看与批量提交一起使用的性能分析器选项示例,请参阅 PySpark 批处理工作负载示例

启用分析

如需对工作负载启用性能分析,请完成以下步骤:

  1. 启用 Profiler
  2. 如果您使用的是自定义虚拟机服务账号,请向自定义虚拟机服务账号授予 Cloud Profiler Agent 角色。此角色包含所需的性能分析器权限。
  3. 提交批处理工作负载创建会话模板时设置性能分析属性。

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 查看配置文件。

后续步骤