启用 Dataproc 集群缓存后,集群会缓存 您的 Spark 作业经常访问的 Cloud Storage 数据。
优势
- 提高性能:缓存可以减少 从存储空间检索数据所花费的时间。
- 降低存储费用:由于热数据缓存在本地磁盘上, 为检索数据而对存储空间进行的 API 调用更少。
限制和要求
- 缓存仅适用于 Dataproc Spark 作业。
- 只有 Cloud Storage 数据会被缓存。
- 缓存仅适用于满足以下要求的集群:
<ph type="x-smartling-placeholder">
- </ph>
- 该集群有一个主实例和
n
个工作器 (不支持高可用性 (HA) 和单节点集群)。 - 此功能在 Compute Engine 上的 Dataproc 中提供
映像版本
2.0.72+ or 2.1.20+
. - 每个集群节点必须具有 本地 SSD 与 NVME(非易失性内存速成) 接口(永久性磁盘 (PD) 不受支持)。数据缓存在 NVME 上 仅限本地 SSD
- 集群使用 默认虚拟机服务账号 进行身份验证。自定义虚拟机服务账号 不受支持。
- 该集群有一个主实例和
启用集群缓存
您可以在创建 Dataproc 集群时启用集群缓存 使用 Google Cloud 控制台、Google Cloud CLI 或 Dataproc API。
Google Cloud 控制台
- 打开 Dataproc 在 Compute Engine 上创建集群 页面。
- 已选择设置集群面板。在 Spark 性能增强功能部分,选择 启用 Google Cloud Storage 缓存。
- 在集群创建面板中确认并指定集群详情后, 点击创建。
gcloud CLI
运行 gcloud dataproc clusters create
命令行中的命令
Cloud Shell
使用 dataproc:dataproc.cluster.caching.enabled=true
集群属性。
示例:
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
请求。