启用 Dataproc 集群缓存后,集群会缓存 Spark 作业经常访问的 Cloud Storage 数据。
优势
- 提高性能:缓存可以减少从存储空间检索数据所花费的时间,从而提升作业性能。
- 降低存储费用:由于热数据缓存在本地磁盘上,因此为检索数据而对存储空间进行的 API 调用会减少。
限制和要求
- 缓存仅适用于 Dataproc Spark 作业。
- 系统只会缓存 Cloud Storage 数据。
- 缓存仅适用于满足以下要求的集群:
- 该集群有一个主实例和
n
个工作器(高可用性 (HA) 集群和单节点集群不受支持)。 - 此功能在 Compute Engine 上的 Dataproc 映像版本
2.0.72+ or 2.1.20+
中提供。 - 每个集群节点都必须具有挂接了 NVME(非易失内存极速)接口的本地 SSD(不支持永久性磁盘 (PD))。数据仅缓存在 NVME 本地 SSD 上。
- 集群使用默认虚拟机服务帐号进行身份验证。不支持自定义虚拟机服务帐号。
- 该集群有一个主实例和
启用集群缓存
使用 Google Cloud CLI 或 Dataproc API 创建 Dataproc 集群时,您可以启用集群缓存。
控制台
目前不支持通过 Google Cloud 控制台启用集群缓存。
gcloud CLI
使用 dataproc:dataproc.cluster.caching=true
集群属性在终端窗口或 Cloud Shell 中本地运行 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": "true"
集群属性添加为 clusters.create 请求的一部分。