啟用 Dataproc 叢集快取後,叢集會快取 Spark 工作經常存取的 Cloud Storage 資料。
優點
- 提升效能:快取可減少從儲存空間擷取資料所花費的時間,進而提升工作效能。
- 降低儲存空間費用:由於熱資料會快取在本機磁碟上,因此擷取資料時,傳送至儲存空間的 API 呼叫次數會減少。
- Spark 工作適用性:在叢集上啟用叢集快取後,無論是提交至 Dataproc 服務,還是獨立在叢集上執行,叢集上執行的所有 Spark 工作都會套用這項功能。
限制與需求
- 快取僅適用於 Dataproc Spark 工作。
- 系統只會快取 Cloud Storage 資料。
- 快取功能僅適用於符合下列條件的叢集:
- 叢集有一個主要節點和
n
個工作站節點 (不支援高可用性 (HA) 和單一節點叢集)。 - 這項功能適用於 Dataproc on Compute Engine
映像檔版本
2.0.72+
、2.1.20+
和2.2.0+
。 - 每個叢集節點都必須連接NVME (非揮發性記憶體高速) 介面的本機 SSD (不支援 Persistent Disk (PD))。資料只會快取在 NVME 本機 SSD 上。
- 叢集會使用預設 VM 服務帳戶進行驗證。不支援自訂 VM 服務帳戶。
- 叢集有一個主要節點和
啟用叢集快取
使用 Google Cloud 控制台、Google Cloud CLI 或 Dataproc API 建立 Dataproc 叢集時,可以啟用叢集快取。
Google Cloud 控制台
gcloud CLI
在本機的終端機視窗或 Cloud Shell 中,使用 dataproc:dataproc.cluster.caching.enabled=true
cluster 屬性執行 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 要求的一部分。