启用 Managed Service for Apache Spark 集群缓存后,集群会缓存 Spark 作业经常访问的 Cloud Storage 数据。
福利
- 提升性能:缓存可以缩短从存储空间检索数据所花费的时间,从而提升作业性能。
- 降低存储费用 :由于热数据会缓存在本地磁盘上,因此为检索数据而向存储空间发出的 API 调用次数减少。
- Spark 作业适用性:在集群上启用集群缓存后, 该缓存会应用于在集群上运行的所有 Spark 作业,无论是提交到 Managed Service for Apache Spark 还是在集群上独立运行。
限制和要求
- 缓存仅适用于 Managed Service for Apache Spark 作业。
- 仅会缓存 Cloud Storage 数据。
- 缓存仅适用于满足以下要求的集群:
- 集群具有一个主节点和
n个工作器 (不支持高可用性 [HA] 集群和单节点集群)。 - 此功能适用于 Managed Service for Apache Spark
映像版本
2.0.72+、2.1.20+和2.2.0+。 - 每个集群节点都必须通过 NVME(非易失性快速内存) 接口挂接 本地 SSD (不支持永久性磁盘 [PD])。数据仅缓存在 NVME 本地 SSD 上。
- 集群使用 默认虚拟机服务账号 进行身份验证。自定义虚拟机服务账号 不受支持。
- 集群具有一个主节点和
启用集群缓存
在使用控制台、Google Cloud CLI 或 Dataproc API 创建 Managed Service for Apache Spark 集群时,您可以启用集群缓存 。 Google Cloud
Google Cloud 控制台
- 打开 Google Cloud 控制台 创建集群 页面。
- 点击其他配置 以展开该部分。
- 修改自定义及其他 。
- 在打开的面板中,点击集群属性 部分中的 + 添加属性 。
- 在前缀 列表中选择 dataproc ,然后添加键
dataproc.cluster.caching.enabled和值true。
gcloud CLI
在终端窗口或 Cloud Shell 中使用 dataproc:dataproc.cluster.caching.enabled=true 集群属性以本地方式运行 gcloud dataproc clusters create 命令。
示例:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --properties dataproc:dataproc.cluster.caching.enabled=true \ --num-master-local-ssds=2 \ --master-local-ssd-interface=NVME \ --num-worker-local-ssds=2 \ --worker-local-ssd-interface=NVME \ other args ...
REST API
将 SoftwareConfig.properties 设置为包含 "dataproc:dataproc.cluster.caching.enabled": "true" 集群属性作为 clusters.create 请求的一部分。